<<HUD>>
<<if $day is 0 and not ($washedUp and $ateBreakfast and $gotDressed)>>
<div class="prose-block">
<p>The DashDrop app just sits there, shift button greyed out. It won't let me clock in looking like this. I need to wash up, eat something, get dressed. The zone isn't going anywhere.</p>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div>
<<else>>
<<set $timeslot to "Afternoon">>
<<set $player.energy to Math.clamp($player.energy - 10, 0, 100)>>
<<SceneDivider "DashDrop Shift, 11:00 AM">>
<<ImagePlaceholder "Marcus on the delivery scooter, orange DashDrop jacket, urban street" "banner" "assets/characters/mc-male/delivery-scooter.png">>
<div class="prose-block">
<p>The scooter coughs to life on the third try. I count that as a win. At this point I'd count almost anything as a win.</p>
<p>Four hours on the road, five deliveries. The math of gig work is simple and depressing: each delivery pays $4.50 base plus tip plus a time bonus if I'm fast enough, minus gas, minus the slow death of the scooter's battery, minus whatever small piece of my soul dies every time someone answers the door in their underwear and doesn't tip.</p>
<p><strong>First delivery.</strong> College apartments west of campus. Burger Palace, two cheeseburgers, large fry, extra sauce. A frat boy in boxers opens the door, grabs the bag, and mutters "took you long enough" before closing it without ever looking at my face. No tip. I stand on the doorstep a second, staring at the receipt with $0.00 in the tip field, thinking about the many careers I'm apparently not pursuing.</p>
</div>
<div class="choice-block">
<<link '<span>🛵 Next stop</span>' "D00_Delivery2">><</link>>
</div>
<</if>><<HUD>>
<<ImagePlaceholder "Mrs. Calloway at her door with a Tupperware of cookies, warm afternoon light" "float" "assets/characters/supporting/calloway-door.png">>
<div class="prose-block">
<p>My favorite stop on the route is next: Mrs. Calloway. Seventy-something, retired schoolteacher, orders the same Pad Thai from Thai Garden every single Thursday like clockwork. She opens the door of her tidy brownstone and her whole face lights up the way it always does when she sees me, like I'm someone who actually matters.</p>
<<Dialogue "Mrs. Calloway" "👵" "Marcus, dear. You always come so fast." "">>
<p>She takes the bag and presses a folded twenty into my palm. "You eat enough? You look thin."</p>
<<Dialogue "You" "🙂" "I'm fine, Mrs. Calloway." "you">>
<p>She doesn't believe me for a second, but she's too kind to push it. She disappears inside and comes back out with a Tupperware. "Oatmeal raisin. I made too many." She did not make too many. She made them for me. She does this every couple of weeks.</p>
<p>"Thank you." My voice comes out thicker than I mean it to. I clear my throat and turn away before she can see whatever my face is doing.</p>
<p>I eat a cookie on the scooter, parked at the curb, watching traffic go by. The raisin-to-oat ratio is basically perfect. Nobody else in my life gives me things without me asking. Mrs. Calloway gives me cookies, twenty-dollar tips, and for about five minutes, the strange feeling of being visible.</p>
</div>
<div class="choice-block">
<<link '<span>🛵 Next stop</span>' "D00_Delivery3">>
<<set $player.stress -= 3>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p><strong>Third delivery.</strong> A high-rise downtown. Pizza Junction, one large pepperoni. The door opens on a guy in a wrinkled t-shirt, hair a mess, clearly having a good afternoon, and behind him a girl in an oversized shirt and nothing else, laughing at something on the couch.</p>
<p>"Oh, hell yes, pizza," she calls out. He grabs the box grinning. "Thanks, man." He tips ten bucks without even thinking about it.</p>
<p>Must be nice, having a body someone actually wants to touch. Having an apartment where the hot water works. Having a random Wednesday afternoon that looks like that.</p>
<p>I take the elevator back down. The mirror inside shows a skinny kid in an orange jacket holding an empty delivery bag. I don't look at myself too long. Already did enough of that this morning.</p>
</div>
<div class="choice-block">
<<link '<span>🛵 Next stop</span>' "D00_Delivery4">><</link>>
</div><<HUD>>
<div class="prose-block">
<p><strong>Fourth delivery.</strong> Campus library, one mango-passion fruit smoothie from Smoothie King for someone named Maya. I find her on the library steps, ponytail, reading a textbook in the afternoon sun, looking like she has her whole life figured out in a way that makes me feel like a completely different species.</p>
<<Dialogue "Maya" "📚" "Thanks! You go to State too?" "">>
<<Dialogue "You" "🙂" "Yeah. Second year." "you">>
<<Dialogue "Maya" "📚" "Cool! I'm Maya. Maybe I'll see you around." "">>
<p>She waves and goes back to her book.</p>
<p>I walk back to my scooter. Didn't ask for her number, wouldn't have known what to do with it anyway. Maya will probably forget me before she finishes that smoothie. This is basically how I move through the world: seen for a second, forgotten immediately, a background extra in everybody else's movie.</p>
</div>
<div class="choice-block">
<<link '<span>🛵 Last stop</span>' "D00_Delivery5">><</link>>
</div><<HUD>>
<div class="prose-block">
<p><strong>Fifth delivery.</strong> A rougher part of town. Chinese Express, third floor of a building where the buzzer doesn't work and the stairwell smells like mold and something faintly chemical. The customer cracks the door on a chain, slides cash through the gap, grabs the food, and slams it shut. I hear three locks turn. I don't linger.</p>
<p>On the way down the scooter makes a grinding noise that sounds like an expensive problem. Something in the motor, a bearing maybe, or the belt. Repair estimate: two hundred bucks minimum, money I don't have and nobody's about to hand me.</p>
<p>Shift total: sixty-seven dollars in tips plus base pay. After the platform takes its cut, that's about fifty-two dollars. Enough for three days of eating. Not enough for the scooter repair, the overdue rent, the student loans, the utility bill, or the slow crushing feeling in my chest that's probably just stress but could, for all I know, be my heart deciding to clock out early.</p>
<p>I ride home through the late afternoon, wind cold on my face, scooter rattling under me, orange jacket flapping. Another day spent delivering other people's lives right to their doors.</p>
</div>
<div class="choice-block">
<<link '<span>🛵 Head back out to the street</span>' "Outside">>
<<set $player.money += 52>>
<<set $income.dashdrop += 52>>
<<set $timeslot to "Evening">>
<<set $dashdropDone to true>>
<<run window.rbAddMilestone("Finished the DashDrop shift.")>>
<</link>>
</div><<HUD>>
<<SceneDivider "Home, Evening">>
<div class="prose-block">
<p>I heat water on the stovetop, the microwave died three weeks ago, another casualty in the ongoing war between my life and basic functionality, and pour it over instant ramen. The noodles soften in the styrofoam cup. I sit on the couch. It's secondhand, stained in places I choose not to investigate, and sags in the middle like it gave up on posture around the same time I did.</p>
<p>I eat and stare at the eviction notice sitting on the coffee table. Seven days. I have seven days to come up with $1,300 or lose the apartment. Where does someone with $47 in their checking account find $1,300?</p>
<p>I dig the flyer out of my pocket, unfold it, smooth the creases against my thigh.</p>
<p>$2,000. One visit. One pill.</p>
<p>Worst case, it's shady and the pill makes me sick for a week. I've been sick before. I ate gas station sushi once and lived through it. A pharmaceutical trial can't be worse than gas station sushi.</p>
<p>Best case, I walk in, swallow a vitamin, walk out with two thousand dollars, pay rent, and buy real food for the first time in a month.</p>
<p>I pick up my phone, dial the number, and let my thumb hover over the call button for a beat.</p>
<p>Two rings, then someone picks up.</p>
<<Dialogue "NovaCure Intake" "☎️" "NovaCure Laboratories, participant intake. How can I help you?" "">>
<<Dialogue "You" "🙂" "Hi, I... I saw the flyer. On campus. About the trial." "you">>
<<Dialogue "NovaCure Intake" "☎️" "Of course. Can I get your name and age?" "">>
<<Dialogue "You" "🙂" "Marcus Cole. Twenty." "you">>
<<Dialogue "NovaCure Intake" "☎️" "Any current medications, Mr. Cole?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "NovaCure Intake" "☎️" "Known allergies?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "NovaCure Intake" "☎️" "Wonderful. We have availability tonight at 8:30 PM. Can you make it?" "">>
<p>Tonight. I glance at the clock on the stove. 6:47 PM. "Tonight?"</p>
<<Dialogue "NovaCure Intake" "☎️" "Compensation is processed same-day. Direct deposit. Most of our participants appreciate the promptness." "">>
<p>Same-day deposit, in my account before midnight. I could pay Mrs. Park before breakfast tomorrow.</p>
<<Dialogue "You" "🙂" "I'll be there." "you">>
<p>She gives me the address. Meridian Tower, 6th floor, Suite 604. Check in at reception, bring valid ID. "Is there anything else I can help with?"</p>
<p>"What does the pill actually do? Like, what's it for?"</p>
<<Dialogue "NovaCure Intake" "☎️" "Dr. Amelia will explain the trial parameters when you arrive. It's a very standard process, Mr. Cole." "">>
<p>Standard. Sure. Everything about this call has sounded standard. I hang up, sit back down, and eat my instant ramen telling myself it's fine. It's a pill. One pill. It's fine.</p>
<p>I finish the ramen, wash the fork, and stare out the window at the darkening street. The decision feels small, small enough that it barely registers against the weight of everything else, and I have no idea yet that it might be the biggest one I'll ever make.</p>
</div>
<div class="choice-block">
<<link '<span>🧥 Get ready to head out</span>' "Home">>
<<set $timeslot to "Night">>
<<set $player.energy to Math.clamp($player.energy - 15, 0, 100)>>
<<set $calledNovaCure to true>>
<<run window.rbAddJournalEntry("The Call", "I called the number on the flyer. They have an opening tonight at 8:30 PM. Meridian Tower, Suite 604. Compensation processed same-day.")>>
<</link>>
</div><<set $day to 0>>
<<set $timeslot to "Morning">>
<<set $weekDay to "Thursday">>
<<HUD>>
<<SceneDivider "Thursday Morning, 6:45 AM">>
<<ImagePlaceholder "POV from the mattress, water-stained ceiling, grey dawn light, cracked phone alarm" "banner" "assets/locations/apartment/d00-morning-pov.png">>
<div class="prose-block">
<p>The alarm screams at 6:45 like it always does, that default iPhone tone I've come to associate with the exact flavor of dread that comes with being alive. I reach for the phone without opening my eyes, thumb sliding across the cracked screen to kill it. Snooze. Nine more minutes of not existing.</p>
<p>I hit snooze again at 6:54.</p>
<p>At 7:03 I finally peel my eyes open and stare at the ceiling. There's a water stain directly above my mattress, brown and vaguely fist-shaped, that's been there since I moved in eight months ago. I've thought about complaining to Mrs. Park, my landlord, but Mrs. Park is a five-foot-one Korean-American woman in her sixties who already thinks I'm a deadbeat, and I'm two months behind on rent, so the stain stays. Everything stays. That's the thing about being broke, nothing ever changes because change costs money.</p>
<p>I sit up. The mattress sits right on the floor because a bed frame was eighty dollars I didn't have when I moved in and still don't have now. The sheets are grey, originally white, but a load of laundry costs three fifty and I space it out as long as I can. My studio is exactly what you'd expect for six hundred fifty a month in a neighborhood that calls itself "up and coming" the way a boxer calls himself "getting back up" between rounds, half-heartedly, mostly just to get hit again.</p>
<p>One room split into the illusion of several. A mattress in the corner, a kitchenette against the far wall, a bathroom door that barely clears the toilet when it swings open. Home, such as it is.</p>
</div>
<div class="choice-block">
<<link '<span>Get up and see what the day wants from you</span>' "Home">><</link>>
</div><<HUD>>
<<SceneDivider "Home, 10:15 PM">>
<div class="prose-block">
<p>The bus home is emptier this late. A woman in scrubs asleep against the window, a teenager with headphones nodding along to something inaudible, and me in the back, refreshing my bank app every forty-five seconds just to confirm the $2,000 is still real.</p>
<p>I get home, lock the door, and stand there in my apartment for a second. Same apartment, same water stain, same stack of ramen packets. But the number in my bank account has changed, and somehow that changes the specific gravity of everything else in the room.</p>
<p>I sit on the couch and open the banking app. Transfer $1,300 to Mrs. Park's account, both months of overdue rent, paid in full. I watch the confirmation screen pop up: "Transfer complete." The balance drops from $2,099 to $799. Still more than I've had sitting in that account in months.</p>
<<run window.rbPayRent(1300)>>
<p>I let out a breath. The weight of eviction lifts off my chest. It doesn't disappear so much as shift sideways, replaced by all the other weights waiting in line, loans, the scooter, utilities, whatever comes next, but the most immediate one, the most crushing one, is finally gone. I have a home. For now. I'm safe. For now.</p>
<p>I eat three of Mrs. Calloway's cookies, oatmeal raisin, perfect every time. I put on the TV, some sitcom I'm not really following, laugh track going off at moments that have nothing to do with anything funny. I watch without really watching. My body feels normal. No nausea, no dizziness, no side effects at all. The pill did nothing, probably just a placebo. A two-thousand-dollar placebo. Best deal I've ever made in my life.</p>
<p>I get sleepy earlier than usual, around 10:30. Normally I'm up until 1 AM doing nothing, just existing the way insomnia demands, staring at my phone, scrolling through feeds of people living actual lives, drifting in and out until my body finally gives up and collapses into something close enough to rest.</p>
<p>Tonight feels different, heavy. My eyelids might as well be lead curtains. My limbs sink into the couch cushions. There's a warm drowsiness to it that feels almost pharmaceutical, which it probably is. Nurse Patel did say I might feel drowsy.</p>
<p>I force myself up off the couch and into the bathroom to brush my teeth. Then, without any real reason, without any premonition that my life is about to split clean in half, I look at myself in the mirror.</p>
<p>I mean really look, not the usual morning glance, the quick inventory of damage. A real, sustained look.</p>
</div>
<<ImagePlaceholder "Final mirror, Marcus at night, looking at his reflection like a goodbye" "portrait" "assets/characters/mc-male/final-mirror.png">>
<div class="prose-block">
<p>Angular jaw. Stubble I can never grow in properly. Hazel-green eyes, downturned, tired, but strangely beautiful in a way I've never once let myself admit. They're my grandmother's eyes, same color, same shape. Seeing her in my own face hurts in a way I can't quite put a name to.</p>
<p>Prominent cheekbones, the bone structure showing through a face that's too thin. High cheekbones are supposed to read as attractive. On me they just look hungry.</p>
<p>Freckles scattered like someone flicked a paintbrush at me, the kind people call angel kisses. I touch them, touch my own face, the stubble, the jaw, the nose, the lips that are always chapped because I never drink enough water.</p>
<p>I don't know what I'm looking for. I brush my teeth, spit, and turn off the bathroom light.</p>
<p>I lie down in bed, the mattress still on the floor, the pillow that smells faintly stale, the sheets that used to be white. Flat on my back, I stare at the water stain on the ceiling. The fist, or maybe the chrysalis. Depends how you look at it.</p>
<p>My eyes close. My breathing slows. The pill, that small white capsule that weighed nothing and cost two thousand dollars, dissolves in my stomach acid and releases its compound into my bloodstream. It moves through my liver, my kidneys, my endocrine system. It reaches my hypothalamus, my pituitary, my gonads. It begins.</p>
</div>
<<ImagePlaceholder "Overhead shot, Marcus asleep on the floor mattress, moonlight through the blinds" "banner" "assets/characters/mc-male/last-sleep.png">>
<div class="prose-block">
<p>I don't feel any of it. I'm already asleep, deep and warm and dreamless. The last sleep of a man named Marcus Cole.</p>
<p>Outside, the city doesn't notice a thing. Buses keep running. Streetlights keep cycling. A cat crosses the road somewhere. A bartender closes up. A student types out an essay at 2 AM. The world keeps turning like it always does.</p>
<p>Inside, on a mattress on the floor, a body starts to change.</p>
</div>
<div class="choice-block">
<<link '<span>🌙 Close my eyes</span>' "Sleep">><</link>>
</div><<HUD>>
<<SceneDivider "NovaCure Laboratories, 8:30 PM">>
<<ImagePlaceholder "Meridian Tower at night, glass and steel, a lone figure approaching" "banner" "assets/locations/novacure/meridian-exterior.png">>
<div class="prose-block">
<p>I shower in cold water, shave half-heartedly and miss a few patches anyway, then put on my cleanest clothes. Black hoodie, not the grey one, the grey one's for comfort, not for places where people might actually judge me. Least-wrinkled joggers. The sneakers held together at this point by habit and denial.</p>
<p>The 7:45 bus downtown. I sit in the back and watch the city lights through glass smeared with fingerprints and someone's forehead grease. The bus smells like wet metal and general resignation. I'm the only person under thirty on it, everyone else looks like they're heading to a night shift or coming from bad news.</p>
<p>Meridian Tower is glass and steel, twelve stories of corporate ambition rising up out of a block of restaurants and boutiques. It doesn't look like a place where desperate twenty-year-olds go to swallow pills for rent money. It looks like a place where people with retirement accounts drink coffee out of ceramic mugs.</p>
<p>Sixth floor, Suite 604. The hallway is hushed and carpeted, the kind of quiet that costs money. I push open the door marked NOVACURE LABORATORIES and step into a waiting room that's aggressively inoffensive, white walls, grey chairs, a water cooler humming, a potted plant that might be real or might be the most convincing fake I've ever seen. Elevator music drifts from somewhere invisible. The room smells like nothing at all, and I'm guessing that's on purpose.</p>
<p>I'm the only person here.</p>
</div>
<<ImagePlaceholder "NovaCure waiting room, sterile, white, empty" "float" "assets/locations/novacure/waiting-room.png">>
<div class="prose-block">
<p>A nurse comes through a side door. Late thirties, South Asian, kind eyes, efficient movements, the kind of energy that belongs to someone genuinely good at her job who doesn't need anyone to notice.</p>
<<Dialogue "Nurse Patel" "👩⚕️" "Mr. Cole? I'm Nurse Patel. Let's get you started." "">>
<p>She takes my vitals in a small exam room. Blood pressure cuff, heart rate, temperature. She draws blood with a smooth, practiced stick that barely registers, weighs me at 148 pounds, measures me at five-nine, and asks all the questions medical professionals ask when they need a baseline.</p>
<<Dialogue "Nurse Patel" "👩⚕️" "Any medications?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "Nurse Patel" "👩⚕️" "Known allergies?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "Nurse Patel" "👩⚕️" "Family history of anything we should know about?" "">>
<<Dialogue "You" "🙂" "My dad's an alcoholic. If that counts." "you">>
<p>She doesn't laugh, doesn't judge, just writes it down. "It counts."</p>
<p>She hands me a clipboard, fourteen pages, single-spaced. The consent form.</p>
<p>I flip through it. Legal language, liability waiver, participant rights, data collection agreement. I read the first three pages with the kind of attention you give a long text from someone you don't really care about, scanning for key words, registering pretty much none of them.</p>
<p>Page seven: "Potential side effects may include: nausea, headache, fatigue, skin sensitivity, hormonal fluctuation, temporary cognitive changes..."</p>
<p>Hormonal fluctuation sounds like nothing much. Like a bad night's sleep, or one too many coffees.</p>
<p>Page nine, clause 12(b). My eyes slide over it the same way they slide over any terms of service right before clicking accept.</p>
<blockquote>"Participant acknowledges that unforeseen physiological outcomes may occur as a result of the administered compound. NovaCure Laboratories LLC is not liable for permanent alterations to participant biology resulting from study participation."</blockquote>
<p>Permanent alterations. The words sit right there on the page. I see them and somehow don't see them at the same time, too busy thinking about the $2,000 and Mrs. Park's email and the fact that I have $47 and eleven ramen packets and seven days before I'm homeless.</p>
<p>I sign at the bottom, date it, initial every page, and hand the clipboard back to Nurse Patel, who flips to the signature page, checks it, and nods.</p>
<p>"Dr. Amelia will be with you shortly."</p>
<p>I sit on the examination table. The paper crinkles under me. My feet dangle a little. I feel like a kid at a checkup.</p>
</div>
<div class="choice-block">
<<link '<span>🚪 The door opens</span>' "D00_NovaCure_Pill">><</link>>
</div><<HUD>>
<<ImagePlaceholder "Dr. Maren Amelia, ash blonde, glasses, clinical" "portrait" "assets/characters/supporting/dr-amelia.png">>
<div class="prose-block">
<p>Dr. Maren Amelia walks in the way a surgeon walks into an operating theater, with total certainty that everything in the room already belongs to her. Tall for a woman at five-seven, but she carries herself like she's six feet. Ash blonde hair pulled back in a French twist so tight it could double as a weapon. Frameless rectangular glasses over pale blue-grey eyes that look at me the way a microscope looks at a slide, with interest, but no warmth at all.</p>
<p>She extends her hand. The grip is dry and cold. "Thank you for participating, Mr. Cole."</p>
<<Dialogue "You" "🙂" "What exactly am I participating in?" "you">>
<<Dialogue "Dr. Amelia" "🥼" "A Phase-II tolerability trial for a novel compound. You'll ingest a single oral capsule. We'll monitor your vitals for thirty minutes post-ingestion, and you'll be free to go. The compound has been through extensive preclinical and Phase-I trials with no significant adverse events." "">>
<<Dialogue "You" "🙂" "What does it do?" "you">>
<<Dialogue "Dr. Amelia" "🥼" "The compound modulates endocrine function. We're testing for bioavailability and subject response variability." "">>
<p>I catch maybe three words of that. "So it's a hormone thing."</p>
<<Dialogue "Dr. Amelia" "🥼" "In layman's terms, yes." "">>
<p>She opens a small steel case on the counter. Inside, sitting in a foam slot, is a single white capsule. No markings, no label, just a smooth white pill smaller than my thumbnail, looking like absolutely nothing at all.</p>
</div>
<<ImagePlaceholder "The pill, unmarked white capsule in a steel case" "float" "assets/items/misc/the-pill.png">>
<div class="prose-block">
<p>She sets the case on the tray next to a paper cup of water. "Whenever you're ready."</p>
<p>I pick up the pill. It's warm, probably just from the case, but the warmth feels intentional somehow, like it's already alive. I look at it sitting there between my fingers. It weighs nothing. It means everything.</p>
<p>I place it on my tongue, pick up the water, drink, swallow. It slides down without any resistance. I feel it pass my esophagus, then nothing. Just water and the aftertaste of nothing.</p>
<p>Dr. Amelia watches and makes a note on her tablet. Was that a micro-expression, a flicker of satisfaction, maybe anticipation? Or am I just imagining it? I'm tired. Probably imagining it.</p>
<p>"Your compensation will process within the hour. We'll contact you for a follow-up in two weeks." She snaps the tablet case closed. "Any immediate symptoms, dizziness, nausea, vision changes, call the 24-hour line."</p>
<p>Nurse Patel walks me out. At the elevator she pauses. "Take care of yourself, Marcus."</p>
<p>Not "Mr. Cole." Marcus. Hearing my first name catches me off guard for a second, and I almost ask her to say it again. Instead I just say thanks and step into the elevator, watching the floors count down in the mirrored walls. A skinny kid in a black hoodie, heading home, two thousand dollars richer and none the wiser.</p>
<p>My phone buzzes as the elevator opens on the ground floor.</p>
<p class="italic" style="text-align:center; color:var(--gold); font-weight:700;">Bank notification: $2,000.00 deposited, NovaCure Laboratories LLC.</p>
<p>I stare at the number. Four digits, a comma. For the first time in months my checking account actually has a comma in it. I let out a breath I've apparently been holding for two months straight, and it comes out shaking.</p>
</div>
<div class="choice-block">
<<link '<span>🏙️ Head back outside</span>' "District_Central">>
<<set $player.money += 2000>>
<<set $income.novacure += 2000>>
<<set $metDrAmelia to true>>
<<set $metNursePatel to true>>
<<run window.rbAddJournalEntry("The Trial", "I swallowed a pill for $2,000 at NovaCure Laboratories. Rent is saved. I don't know what it does yet.")>>
<</link>>
</div><<HUD>>
<<ImagePlaceholder "Alone on the couch, TV glow, emotional exhaustion" "banner" "assets/characters/mc-female-phase1/evening-alone-couch.png">>
<div class="prose-block">
<p>I put on the stretched-out t-shirt. It hangs off one shoulder, exposing a bare collarbone and the outline of a breast through the thin fabric. The boxers bunch at the waist, held up by nothing but friction and denial. Nothing fits. Nothing feels right. My own clothes feel like a costume, and the body underneath them is the real costume, and somewhere under that there's supposed to be me, except I'm not sure where I went.</p>
<p>I eat leftover ramen cold, straight from the cup, standing in the kitchen first, then sitting on the couch, then just staring at the TV without registering a single thing on the screen. Some sitcom, laugh track going off, people being happy in a way that suggests the writers never have been.</p>
<p>My phone rings. It's Nolan.</p>
<p>I stare at the screen, at his contact photo, Nolan at the gym flexing in the mirror, grinning like a golden retriever that learned to bench press. That photo was taken six months ago. I was standing right next to him. We looked like the same species back then, same height range, same build, same locker room, same side of the world.</p>
<p>I don't answer.</p>
<p>I text back instead: "hey can't talk rn. Sick. Talk soon."</p>
<<Dialogue "Nolan" "💪" "damn get better bro 🙏 I'll bring soup tmrw" "">>
<p>No. No no no, absolutely not. "nah I'm contagious prob. I'll let u know."</p>
<<Dialogue "Nolan" "💪" "aight. Feel better dude 💪" "">>
<p>Dude, bro, he called me both in one sentence, and I want to laugh and I want to scream and I end up doing neither. I put the phone face-down on the couch and stare at the ceiling instead.</p>
<p>The water stain shaped like a fist hasn't changed. The ceiling hasn't changed. The apartment hasn't changed. The ramen cups haven't changed. The eviction notice is gone because I paid rent last night with pill money, which means the only thing in this entire room that's different from twenty-four hours ago is me.</p>
<p>I lie in bed. The boxers slide off my hips for the hundredth time. The t-shirt rides up, exposing my stomach, flat, soft, the curve of my waist visible even lying flat on my back. This body presses against the sheets in new ways I keep noticing. My breasts shift when I roll over. My hip bones meet the mattress at a different angle now. My hair is everywhere, under my shoulders, across the pillow, in my mouth.</p>
<p>I can't sleep for hours. I lie there in the dark feeling every inch of a body I didn't choose, didn't want, and can't give back.</p>
<p>At some point, 2 AM maybe, later than that even, I finally fall asleep. I dream, but I can't remember any of it by morning.</p>
<p>I wake up once, around 3:30 AM. My hand is between my legs. My fingers are wet.</p>
<<if $firstOrgasmSolo>>
<p>I know what that wetness is now. I know exactly what my body is asking for.</p>
<p>I pull my hand away and close my eyes. Not tonight.</p>
<<else>>
<p>I don't know what that means, and honestly I don't want to know yet.</p>
<p>I pull my hand away and go back to sleep.</p>
<</if>>
<p>I'll deal with this tomorrow, whatever "this" even is, whatever I am now. Just not tonight.</p>
<p>Tonight I only have to survive it.</p>
</div>
<div class="choice-block">
<<link '<span>🌙 Close my eyes</span>' "Sleep">>
<<set $player.energy to Math.clamp($player.energy - 5, 0, 100)>>
<<set $ateDinnerDay1 to true>>
<</link>>
</div><div class="prose-block">
<p>I stumble to the bathroom. My legs feel different, shorter, the stride is wrong, my center of gravity has moved somewhere around my navel instead of my chest. My thighs brush together with every step. The boxers keep sliding down my hips and I have to grab them with one hand to stop them falling.</p>
<p>I hit the light switch. The fluorescent flickers on with that same sickly buzz it always makes, and I look in the mirror.</p>
<p>The face looking back at me is not mine.</p>
<p>Except it is. The eyes are the same hazel-green, same almond shape, same downturned outer corners that used to make me look tired and now make me look like something else entirely. Doe-eyed. Soft. They're my grandmother's eyes sitting in a stranger's face.</p>
</div>
<<ImagePlaceholder "Mirror reveal, face, shock, hazel-green eyes, freckles" "portrait" "assets/characters/mc-female-phase1/mirror-face-shock.png">>
<div class="prose-block">
<p>Yesterday my jaw was angular, defined, dotted with patches of stubble I could never grow into a real beard. Today it's soft, rounded, smooth, not a hint of hair anywhere, not even a shadow. The bone itself has restructured, hard edges dissolved into curves overnight.</p>
<p>My cheekbones are still high, still prominent, but where they used to say "thin dude who doesn't eat enough," they now say something completely different. They read as striking, as beautiful, as feminine. The same bones, entirely recontextualized by the face built around them.</p>
<p>My lips are fuller too, especially the upper lip, which now has a defined cupid's bow I absolutely did not have yesterday. Pink-rose, slightly parted, and the person they belong to is staring back at me from the other side of the glass with an expression of pure, shattering disbelief.</p>
<p>Even my nose is slightly smaller, the same straight bridge but refined, like someone sanded down all the rough edges. The tip tilts up just barely, a fraction of a degree at most.</p>
<p>My skin looks luminous, smooth, the whole texture changed, no visible pores, no roughness, no acne along the jaw. Just clean, glowing, pale skin with freckles still scattered across the nose and cheeks. The freckles survived. Almost nothing else did.</p>
<p>My eyebrows are thinner now, naturally arched, like someone threaded them while I slept.</p>
<p>My hair is still dark brown, still thick and wavy, the same color but so much more of it. It falls past my shoulders in heavy waves, six inches longer than it was last night. When I turn my head it actually swings, and the weight of it is a physical sensation I've never once felt before.</p>
<p>No stubble anywhere, no shadow, no Adam's apple. My neck looks slender, longer, and the collarbones underneath are sharp and defined in a way that reads as delicate instead of malnourished.</p>
</div>
<<ImagePlaceholder "Mirror reveal, full body, oversized clothes, vulnerability" "portrait" "assets/characters/mc-female-phase1/mirror-fullbody-shock.png">>
<div class="prose-block">
<p>I pull the t-shirt collar aside. My shoulders are narrower, they've lost inches off each side, and the shirt hangs off me like a tent. Below the neckline there are breasts now, a B-cup, teardrop-shaped, sitting naturally, small pink-rose nipples pointing slightly outward. They rise and fall with my panicked breathing, and I watch them move in the mirror, these things on my own chest, moving with me. They're attached. They're mine. They're real.</p>
<p>I pull the shirt tight against my body and watch my waist change shape in the reflection. Where there used to be a straight line running from ribs to hips, there's now a dramatic inward curve, maybe twenty-four or twenty-five inches around. The flare below it, my hips, is even more dramatic, thirty-five inches at least. The boxers hang off one hip, about to surrender to gravity completely.</p>
<p>My stomach is flat with a slight feminine softness just below the navel. My arms are slender and smooth, no forearm veins, no muscle definition left at all. My hands, gripping the edge of the sink, are small and soft with elegant fingers and longer nails than I've ever had.</p>
<p>I pull the waistband of the boxers down.</p>
<p>My pubic hair is still there, still dark, but softer and finer now. Below it, where my cock and balls have been for every single second of my twenty years, there's something else entirely.</p>
<p>A vulva, neat and compact, outer labia closed. I can see it clearly because I'm looking directly at it, because I'm standing here with the boxers pulled down staring at the place where my dick used to be and finding instead a small, smooth, undeniable absence of everything I've ever known about my own body.</p>
<p>I touch it. My fingers meet soft folds, warm, real. The contact sends a small electric shock through a nerve cluster that didn't even exist sixteen hours ago.</p>
<p>I yank my hand away and grip the sink instead, knuckles white. The face in the mirror, that female face with my grandmother's eyes and a stranger's jaw, is hyperventilating right along with me.</p>
</div>
<div class="choice-block">
<<link '<span>😰 I can't breathe </span>' "D01_Panic">>
<<set $player.stress to Math.clamp($player.stress + 15, 0, 100)>>
<<set $seenMirrorDay1 to true>>
<</link>>
</div><<HUD>>
<<if not $dressedDay1>>
<div class="prose-block">
<p>I'm not walking into Meridian Tower like this. Not in whatever I'm currently wearing, or barely wearing. I need to get dressed first.</p>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div>
<<else>>
<<SceneDivider "The Bus">>
<<ImagePlaceholder "Bus interior, a man's gaze traveling down toward her legs" "banner" "assets/locations/misc/bus-male-gaze.png">>
<div class="prose-block">
<p>Back seat of the bus, hood up, knees pressed together in an adjustment I didn't consciously choose. My body just made it automatically, the way my skeleton sits now when I'm not thinking about it. Wider hips, thighs touching, knees together.</p>
<p>A man in the middle of the bus turns and looks at me. His eyes start at my face, or whatever he can see of it under the hood, and travel down toward my legs. The joggers have ridden up, showing my ankle, smooth, pale, unmistakably female.</p>
<p>I pull the fabric down and tuck my ankles under the seat. He turns back around.</p>
<p>That's the male gaze. I spent twenty years on the other side of it, never whistling at women on the street, never staring on buses, never trying to make anyone uncomfortable on purpose. But I knew it existed. I understood it theoretically. I never understood it as a frequency that actually vibrates through your skin and makes you want to fold yourself into the smallest possible shape.</p>
<p>Now I understand it.</p>
<p>NovaCure again. Sixth floor, Suite 604, the same sterile hallway, the same waiting room, the same potted plant that might still be fake.</p>
<p>Nurse Patel comes out and sees me. Her professional mask holds, but her eyes widen for a fraction of a second, just a flash, and then it's gone.</p>
<<Dialogue "Nurse Patel" "👩⚕️" "...Marcus?" "">>
<<Dialogue "You" "😶" "Yeah." "you">>
<p>She doesn't ask any follow-up questions. "Okay. Let's get you into an exam room."</p>
</div>
<<SceneDivider "Examination">>
<<ImagePlaceholder "Exam room, stirrups visible, Dr. Amelia with a tablet" "banner" "assets/locations/novacure/exam-room-stirrups.png">>
<div class="prose-block">
<p>The examination room is the same one from last night. The paper on the table crinkles when I sit down. My feet dangle, I'm three inches shorter now and the table hasn't changed height.</p>
<p>Nurse Patel takes my vitals. Weight, 128 pounds, I've lost twenty pounds overnight. Height, five-six, down three inches. Blood pressure elevated. Heart rate 92, anxiety probably. She doesn't comment on any of it, just writes it down.</p>
<p>Dr. Amelia walks in.</p>
<p>She looks at me, and here's the thing that makes my blood run cold: she doesn't look surprised at all. No visible shock on her face, no "oh my God," no widening of the eyes. Nurse Patel flinched, a human reaction, quickly masked. Dr. Amelia doesn't flinch. Dr. Amelia looks at me the way you'd look at a spreadsheet that returned exactly the result you expected.</p>
<<Dialogue "Dr. Amelia" "🥼" "Remove your clothes, please. You can keep the undergarments." "">>
<p>I strip down, hoodie off, t-shirt off, standing in the cold room in bunched-up boxers that are trying to fall off my hips. My arms cross over my breasts on instinct. Goosebumps rise across every inch of new skin.</p>
<p>She examines me clinically. Her hands palpate my breasts and I flinch, they're sensitive, her cold fingers on the new tissue send a jolt through me I wasn't prepared for.</p>
<<Dialogue "Dr. Amelia" "🥼" "B-cup. Well-formed." "">>
<p>She says it to her tablet, not to me. She measures my waist, my hips, notes down the numbers without a single word of commentary.</p>
<<Dialogue "Dr. Amelia" "🥼" "I need to examine your genitalia. Please lie on the table and place your feet in the stirrups." "">>
<p>I look at the table. Metal arms at the end, splayed out like insect legs, padded foot rests waiting. Stirrups. I've seen them on TV before. I never once imagined my own feet in them.</p>
<<Dialogue "You" "😳" "You're fucking kidding." "you">>
<p>She is not kidding, not even a little.</p>
<p>I lie back. The paper crinkles under me. I place my feet in the stirrups and let my legs fall open. The boxers get pulled down. I'm exposed, spread open under fluorescent light, in the most vulnerable position I have ever been in. The position half the world goes through for routine checkups. The position I never once thought about as a man. The position I'm in right now while a woman in a lab coat inserts a cold metal speculum into a vagina I've had for less than twelve hours.</p>
<p>I grip the edges of the table. Tears leak from the corners of my eyes, not from pain, the speculum is uncomfortable but not painful, but from the overwhelming totality of the whole thing. From the sound of the speculum clicking open. From the fact that I have something inside me for it to open at all.</p>
<<Dialogue "Dr. Amelia" "🥼" "Vaginal canal present and fully formed. Approximately 5.5 inches depth. Cervix visible and healthy. Lubrication response normal." "">>
<<Dialogue "You" "😢" "Can you PLEASE talk about my body like I'm in the room?" "you">>
<p>She pauses and looks at me over the speculum, those cold blue-grey eyes behind the frameless glasses. For one single beat something passes through them. Guilt, maybe. Recognition. I can't quite tell, and it's gone before I can name it properly.</p>
<<Dialogue "Dr. Amelia" "🥼" "I apologize. You have a fully functional female reproductive system. Ovaries, uterus, fallopian tubes, all present and healthy." "">>
<p>She removes the speculum carefully. "You are, by every biological metric, female."</p>
</div>
<<SceneDivider "The Confrontation">>
<div class="prose-block">
<p>I'm dressed again, the hoodie and joggers swallowing me whole, sitting on the exam table. Dr. Amelia stands across from me holding her tablet like a shield.</p>
<<Dialogue "You" "😠" "Change me back." "you">>
<<Dialogue "Dr. Amelia" "🥼" "We are investigating the mechanism of transformation. Reversal is not currently available." "">>
<<Dialogue "You" "😠" "NOT CURRENTLY?" "you">>
<<Dialogue "Dr. Amelia" "🥼" "You signed Form 7-C, clause 12(b). Unforeseen physiological outcomes. The consent was..." "">>
<p>"I signed up for a PILL TRIAL." My voice, this new voice, higher and thinner, cracks on the word "trial." "Not a sex change. Not a... not THIS. I was a MAN yesterday. I had a DICK yesterday. You can't just... you have to..."</p>
<<Dialogue "Dr. Amelia" "🥼" "I understand your distress." "">>
<p>"You don't understand SHIT. You're standing there with your clipboard and your lab coat and you don't look surprised. You don't even look SURPRISED."</p>
<p>The silence after that is thick enough to drown in. Dr. Amelia adjusts her glasses.</p>
<<Dialogue "Dr. Amelia" "🥼" "NovaCure is prepared to offer support during this period of adjustment." "">>
<p>Support. That's the word she uses. Here's what NovaCure's idea of support actually looks like.</p>
<p>New legal identification, already prepared, an updated driver's license, a Social Security amendment, an updated school record. The name change is technically optional. Their default suggestion is Mia Cole, though I can choose my own if I want. They have a form for that. They have an actual form for turning a man into a woman and issuing all the new paperwork to match.</p>
<p>Updated medical records reflecting my new female biology.</p>
<p>$800 a month, a "participant stipend" for six months, framed as support and functioning as hush money.</p>
<p>Monthly check-ins, plus Dr. Amelia's direct line "for emergencies."</p>
<p>I take the new ID card, then the driver's license clipped behind it. Nurse Patel took the photo five minutes ago, me sitting on the exam table, shell-shocked, hair a total mess, drowning in a hoodie three sizes too big. The woman in that photo has my eyes and my freckles and nothing else I recognize at all.</p>
<p>The name on both cards reads: <<print $player.name>> Cole.</p>
</div>
<<ImagePlaceholder "Close-up of the new civic ID card, trembling hands" "float" "assets/items/misc/new-female-id.png">>
<<ImagePlaceholder "Close-up of the new driver's license, trembling hands" "float" "assets/items/misc/new-female-driver-license.png">>
<div class="prose-block">
<p>I stare at them, thinking about how quickly they processed all this, how ready they already were. Two cards, two photos, all the paperwork, the exact stipend amount, every bit of it prepared and waiting. Almost like they expected this. Almost like this was the whole point.</p>
<<Dialogue "Dr. Amelia" "🥼" "We'll see you in two weeks for your first check-in. Call the direct line if you experience anything unusual." "">>
<p>Everything is unusual right now. I am the unusual thing sitting in this room, and I want to scream that at her. Instead I put the cards in my pocket and walk out on legs three inches shorter than yesterday, then take the elevator down in a body I never once asked for.</p>
</div>
<div class="choice-block">
<<link '<span>🏙️ Head back outside</span>' "District_Central">>
<<set $metDrAmelia to true>>
<<set $metNursePatel to true>>
<<set $novaCureVisitCount += 1>>
<<set $player.money += 800>>
<<set $income.novacure += 800>>
<<set $timeslot to "Evening">>
<<set $player.stress to Math.clamp($player.stress + 5, 0, 100)>>
<<set $novaCureDay1Done to true>>
<<run window.rbAddJournalEntry("Confirmed", "Fully female, by every biological metric Dr. Amelia could name. No reversal available. $800 a month, a new ID, and a direct line \"for emergencies.\" Her name is Mia Cole now.")>>
<</link>>
</div>
<</if>><<HUD>>
<<ImagePlaceholder "Huddled on the bathroom floor, knees to chest, crying" "portrait" "assets/characters/mc-female-phase1/bathroom-floor-panic.png">>
<div class="prose-block">
<p>I sit down on the bathroom floor, cold tile against legs that are smooth and wrong and somehow still mine.</p>
<p>I pull my knees to my chest and they come in closer than they should. My hips flex at a different angle now, wider, more accommodating. Even sitting feels different. Even the way my body folds up is different.</p>
<p>My breathing goes fast and shallow. The panic response feels different in this body, my heart pounds higher up in my chest, the adrenaline hits differently, there's a tightness in my throat that makes the air feel thin. I'm hyperventilating. I know I'm hyperventilating. I can't make it stop.</p>
<p>Tears come without me deciding anything, an involuntary flood like a faucet someone turned on without asking my permission. I haven't cried in three years. Not when my dad forgot my birthday. Not when my grandmother's house got sold. Not when the loan letters started piling up. Three years of drought, and now tears are streaming down my face like my body decided to process every unprocessed emotion at once.</p>
<p>"What the fuck. What the fuck, what the fuck..."</p>
<p>My voice. My actual voice. It isn't mine anymore. The words are the same but the register is wrong, higher, softer, a mid-alto where there used to be a tired tenor. It cracks when I shout, but it cracks upward now, not downward. I hear myself speak and the person speaking is a woman.</p>
<p>I grab my phone off the floor, hands shaking. The phone feels too big now, my palm is smaller, my grip is different. I fumble the passcode twice before it lets me in.</p>
<p>I dial NovaCure.</p>
<p>It goes to voicemail. "NovaCure Laboratories is currently closed. Our business hours are 9 AM to..."</p>
<p>I hang up and dial again. Same message. I check the time, 7:48 AM. They don't open for another hour.</p>
<p>I sit on the bathroom floor in my dead grandmother's hoodie, swimming on me now, in boxers that won't stay up on hips six inches wider than they were eight hours ago. I sit there and I cry and I wait.</p>
<p>At 9:15 I try again. A different voice than last night's receptionist. I try to explain, and the words come out in a torrent of panic and broken sentences.</p>
<<Dialogue "You" "😰" "I need to speak to Dr. Amelia. Now. Something happened. Something... I'm... my body..." "you">>
<<Dialogue "NovaCure Intake" "☎️" "Sir, can you describe..." "">>
<<Dialogue "You" "😰" "I WOKE UP AS A WOMAN." "you">>
<p>A long pause follows, so long I check to see if the call dropped.</p>
<<Dialogue "NovaCure Intake" "☎️" "...2 PM, Mr. Cole. I'm sorry, can you come in at 2 PM? We'll have Dr. Amelia available." "">>
<<Dialogue "You" "😰" "I'll be there." "you">>
<p>I hang up. Five hours. I have to exist in this body for five more hours before anyone can even look at me and tell me what happened, then fix it, fix me, change me back.</p>
<p>I stand up and catch my reflection in the mirror again. The woman on the bathroom floor, tear streaked, hair a total mess, drowning in a man's hoodie, scared out of her mind.</p>
<p>She looks like me. She looks like my grandmother. She looks like nobody I've ever met in my life.</p>
<p>I look away first.</p>
</div>
<div class="choice-block">
<<link '<span>Try to hold it together</span>' "Home">>
<<set $mustReturnToNovaCure to true>>
<<run window.rbAddJournalEntry("Something Happened", "I woke up transformed. NovaCure can see me at 2 PM. I don't know how I'm supposed to exist until then.")>>
<</link>>
</div><<set $day to 1>>
<<set $timeslot to "Morning">>
<<set $weekDay to "Friday">>
<<SceneDivider "Friday Morning">>
<div class="prose-block">
<p>Something is wrong before I even open my eyes.</p>
<p>The pillow feels different against my face. Not the texture, it's the same stale pillowcase I've been meaning to wash, but the way my skin registers it now. Smoother, more sensitive, like the thread count doubled overnight.</p>
<p>There's weight on my chest, not heavy, just present. Something warm, shifting slightly with every breath. Two somethings, actually, rising and falling in a way that makes no sense because my chest is supposed to be flat.</p>
<p>My hips press into the mattress differently, wider than before. The bones sit at a new angle, like someone rearranged my skeleton overnight. My thighs are touching. They've never touched before in my life. They're touching now, soft, warm, flesh against flesh.</p>
<p>Hair is in my face, way too much of it. I push it away and more keeps coming, long and thick, reaching down past where it should end. Last night my hair barely brushed my ears. This hair reaches my shoulders, easily.</p>
<p>I try to sit up and overbalance completely. My center of gravity feels wrong, lower, shifted forward. I catch myself with one hand on the mattress, and that's when I notice it.</p>
<p>My hand is smaller. The fingers are slender, the knuckles less prominent, the nails longer and smoother. My wrist is narrow. My forearm is smooth, no veins, no sparse hair, just pale skin and the faint blue line of a vein underneath.</p>
<p>I look down.</p>
</div>
<<ImagePlaceholder "POV waking up wrong, breasts under the t-shirt, loose boxers" "banner" "assets/characters/mc-female-phase1/d01-wakeup-pov.png">>
<div class="prose-block">
<p>Breasts. Two of them, round and soft, pressing against the stretched-out t-shirt I slept in, which now hangs off one shoulder entirely. Nipples visible right through the fabric, hard points from the cool morning air, ringed by the darker outline of areolae that weren't there twelve hours ago.</p>
<p>My breath catches. I sit up the rest of the way and the breasts bounce with the motion. The sensation is alien, weight that moves on its own, skin that stretches, nerves firing in patterns my brain doesn't have a filing system for yet.</p>
<p>I throw the blanket off. My legs are smooth, the hair that used to dust my shins is simply gone. My thighs are softer, wider, curving in ways that look like someone else's legs got attached to my body overnight. The boxers hang loose, sagging at the waist over hips dramatically wider than when I fell asleep.</p>
<p>Between my legs, flat. The boxers sag in front where something used to fill them out. I reach down and press through the fabric.</p>
<p>Nothing is there.</p>
<p>Nothing where something is supposed to be, nothing where something has been every single day of my twenty years alive.</p>
<p>"No," I say out loud, to no one.</p>
<p>I press harder. My fingers meet soft, flat, smooth skin.</p>
<p>"No no no no..."</p>
</div>
<div class="choice-block">
<<link '<span>🪞 Get to the bathroom mirror</span>' "D01_Mirror">>
<<set $player.stress to Math.clamp($player.stress + 20, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 15, 0, 100)>>
<</link>>
</div><<HUD>>
<<SceneDivider "Saturday Morning">>
<<ImagePlaceholder "Waking up on day two, still her, hoping it was a dream" "banner" "assets/characters/mc-female-phase1/d02-morning-still-her.png">>
<div class="prose-block">
<p>I wake up hoping it was all a dream.</p>
<p>Eyes still closed, I take stock before looking. The pillow. The mattress. The sheets. Maybe if I just don't open my eyes, the body will have reset itself overnight. Maybe I'll sit up and my chest will be flat again and my hips will be narrow again and my dick will be right where I left it.</p>
<p>I open my eyes.</p>
<p>Hair everywhere, dark brown waves across the pillow, across my face, in my mouth. I spit out a strand.</p>
<p>I sit up and my breasts shift with the motion, that weight, that sway, the subtle feeling of tissue settling into a new position under gravity. I'm starting to get used to them as a constant now, not a shock anymore so much as a presence. Like tinnitus, but in my chest. Always there, always reminding me.</p>
<p>Same female face in the bathroom mirror as yesterday. Same one I fell asleep in. Same one I'll probably have tomorrow, and the day after, and however long "not currently available" ends up actually meaning.</p>
<p>My hair is tangled, my eyes puffy and red-rimmed from crying and from the kind of sleep that's closer to losing consciousness than actually resting. My skin still glows, which feels like a personal insult somehow. My body has no right to look this luminous while I'm falling apart inside it.</p>
<p>I try the male underwear situation again, pulling on the boxers. They sag at the crotch with nothing left to fill the front. They ride up over my hip bones and immediately slide right back down the other side. My hips are six inches wider than my waist now. The boxers were made for a body shaped like a rectangle. I'm shaped like a parenthesis. It's just geometry, and geometry wins every time.</p>
<p>I try the tightest male t-shirt I own next, the black crew neck that used to fit Marcus just fine. On me it does one of two things depending how I pull it, either it stretches tight across the bust and rides up to show my stomach like a crop top, or it hangs off the breasts like a tent and makes me look twice my actual size. There's no middle ground here. Men's shirts just aren't built for a B-cup.</p>
<p>I settle for the compromise that's gotten me through the last 48 hours: oversized black hoodie pulled down past my hips, joggers cinched tight with the drawstring until my waist looks like a gathered curtain, sneakers stuffed with extra socks. The uniform of someone actively not dealing with any of this.</p>
<p>For breakfast I open the cabinet and find the last of the cereal. No milk, I finished the questionable carton two days ago. I eat it dry, straight from the bag, standing at the counter, crunching through stale bran flakes and wondering at what point in my life I'll ever look back on this moment and find it funny.</p>
<p>Not today, though. Today none of it is funny.</p>
</div>
<div class="choice-block">
<<link '<span>🚪 I have to go outside. I need... things.</span>' "D02_Decision">>
<<set $player.energy to Math.clamp($player.energy - 10, 0, 100)>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I can't stay inside forever.</p>
<p>The list of things I need writes itself in my head whether I want it to or not: real food, not dry cereal dust, something to hold my breasts in place so I can move without every step turning into a physics experiment, underwear that actually fits a body shaped like this instead of a body shaped like that. Women's basics. The phrase just sits there in my brain like a foreign object.</p>
<p>I need women's basics, because apparently, I am a woman now.</p>
<p>I stand at the front door, keys in one hand, phone in the other. <<= window.rbMoney($player.money)>> left in my checking account after rent and food. Not a lot. Enough, probably.</p>
<p>I take a deep breath, pull the hood up, keep my head down.</p>
<p>I open the door and step into the hallway. It smells the same as always, Mrs. Park's cooking drifting down from two floors up, the faint mildew smell from the leaky pipe in 3B. The stairs creak exactly the same. The front door sticks exactly the way it always has.</p>
<p>The world hasn't changed at all. It's exactly the same as it was on Wednesday when I walked out of this building as a five-nine man. The stairs don't know my hips are wider now. The mailboxes don't know my chest is different. The sidewalk has no idea my feet are three sizes smaller than they used to be.</p>
<p>I know all of it, obviously. I also know that everyone I pass today is going to look at me and see a woman they've never seen before, and not a single one of them will ever know that two days ago I was somebody else entirely.</p>
<p>The sunlight hits my face and I squint against it. Here goes nothing.</p>
</div>
<div class="choice-block">
<<link '<span>🗺️ Head out into the neighborhood</span>' "Outside">>
<<set $timeslot to "Afternoon">>
<</link>>
</div><<HUD>>
<div class="map-here">📍 Home → Bathroom</div>
<h1>The <span class="accent">Bathroom</span></h1>
<div class="prose-block">
<p>Three steps from the mattress, barely big enough to turn around in. The hot water got cut eight days ago for nonpayment, so everything coming out of the tap now comes out cold.</p>
</div>
<div class="action-list">
<<if $day is 0>>
<<if not $washedUp>>
<<link '<span class="action-icon">🚿</span><span class="action-text">Wash up<span class="action-sub">Cold shower. Look in the mirror.</span></span>' "Home_Bathroom_Wash">><</link>>
<<else>>
<p class="text3 small">You already washed up this morning. The mirror hasn't changed its opinion of you since.</p>
<</if>>
<<elseif $day is 1>>
<<if not $showeredDay1>>
<<link '<span class="action-icon">🚿</span><span class="action-text">Take a shower<span class="action-sub">You need to wash the last twenty-four hours off.</span></span>' "Home_Bathroom_ShowerD1">><</link>>
<<else>>
<p class="text3 small">You already showered. You're not ready to think about it again yet.</p>
<</if>>
<</if>>
<<link '<span class="action-icon">🚽</span><span class="action-text">Use the toilet<span class="action-sub">Nothing to report.</span></span>' "Home_Bathroom">>
<<set $player.stress to Math.clamp($player.stress - 1, 0, 100)>>
<</link>>
<<link '<span class="action-icon">🫧</span><span class="action-text">Take a minute alone<span class="action-sub">Nobody's watching. Might as well.</span></span>' "Home_Bathroom_Alone">><</link>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back to the apartment</span>' "Home">><</link>>
</div><<HUD>>
<<ImagePlaceholder "Male Marcus, bathroom mirror, tired, stubble, freckles" "portrait" "assets/characters/mc-male/mirror-morning.png">>
<div class="prose-block">
<p>I turn on the shower. Cold, obviously. I called the utility company earlier with a voice full of that specific brand of dignity people scraping the bottom learn to perform. "I'll have it by the fifteenth." I won't have it by the fifteenth.</p>
<p>I splash cold water on my face and look in the mirror.</p>
<p>Angular jaw with patches of stubble I can't quite grow into a full beard. Hazel-green eyes set in slightly downturned corners that make me look perpetually tired, which is fair, since I actually am perpetually tired. Dark circles like bruises under both eyes. Cheekbones too prominent because my face is too thin because I don't eat enough because food costs money I don't have.</p>
<p>Dark brown hair, wavy and overgrown past my ears, brushing my collar, because a haircut costs twenty dollars and twenty dollars is four meals.</p>
<p>Freckles scattered across my nose and upper cheeks, the one feature I've never minded. My grandmother used to say freckles were angel kisses. She died when I was sixteen.</p>
<p>"You look like shit," I tell the mirror.</p>
<p>The mirror doesn't argue with me.</p>
<p>I brush my teeth with a toothbrush that should've been replaced two months ago, bristles splaying outward like they're trying to escape my mouth. I spit and don't look at the mirror again on my way out.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the bathroom</span>' "Home_Bathroom">>
<<set $washedUp to true>>
<<set $player.stress to Math.clamp($player.stress - 2, 0, 100)>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I lock a door that doesn't really need locking, in an apartment where I live completely alone. Habit more than necessity.</p>
<p>It doesn't take long, it never does when it's just about function, five minutes of not thinking about rent or loans or the DashDrop app or anything at all, which is honestly the entire appeal. Efficient and unglamorous, a pressure valve rather than an event.</p>
<p>Afterward I feel marginally more human, which is a low bar but one I clear anyway.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the bathroom</span>' "Home_Bathroom">>
<<set $player.stress to Math.clamp($player.stress - 8, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 3, 0, 100)>>
<</link>>
</div><<HUD>>
<<ImagePlaceholder "First shower, water cascading over new skin" "portrait" "assets/characters/mc-female-phase1/shower-first.gif">>
<div class="prose-block">
<p>I need to shower. I haven't since yesterday morning, yesterday morning when I was a man, with stubble and cold water and a body I actually understood. That feels like a lifetime ago. It was twenty-four hours ago. Same thing, apparently.</p>
<p>I turn on the shower and it's still cold, the hot water bill is still unpaid, and the universe doesn't pause its billing cycle for biological impossibilities.</p>
<p>I undress, the hoodie, the t-shirt, the boxers, and stand naked in the bathroom for a moment. I've been avoiding looking directly at any of it. In the mirror I saw the face, the chest, the hips in pieces. I haven't stood fully naked and taken in all of it at once.</p>
<p>So I look.</p>
<p>The woman in the mirror is small, five-six, slender, pale skin with freckles across her shoulders that match the ones on her nose. B-cup breasts, round and teardrop-shaped, nipples small and pink and already reacting to the cold air. A waist that curves inward like a parenthesis, hips flaring out below it. A dark triangle of pubic hair. Smooth legs. Small feet.</p>
<p>She is, objectively, a woman. Not "sort of" or "in the process of." Entirely, unambiguously, biologically female. She could walk into any gynecologist's office in the country and they'd find nothing unusual at all.</p>
<p>Except that she was a man yesterday. That part's unusual.</p>
<p>I step into the shower.</p>
<p>The cold water hits and everything amplifies at once. This skin, my skin, is more sensitive than it used to be. Every droplet registers on its own. The pressure on my shoulders feels sharper. Water running down my spine sends a cascade of tiny signals my old skin would've just ignored. My breasts feel the cold water too, and my nipples harden instantly, a sharp, pleasant sensation radiating from the tips inward.</p>
<p>I start washing, soap and hands finding new geography everywhere.</p>
<p>The weight of my breasts in my hands as I lather them, soft on the surface, firm underneath. My soapy fingers slip over a nipple and a jolt runs from my chest to somewhere behind my navel, electric enough that I actually gasp out loud. The sound echoes off the shower tile, feminine, involuntary, unmistakably mine.</p>
<p>My stomach is flat and smooth, the soft indent of my navel, no trail of hair below it anymore.</p>
<p>My hips carry a curve of bone now, a real ridge. My hands follow the contour like I'm tracing a map of territory I've never once visited.</p>
<p>Between my legs I move carefully, soap and warm water, my fingers finding the outer lips first, soft and smooth, then the inner lips, delicate and warm. Then I find something else entirely.</p>
<p>The clit. A light touch, half accidental, half deliberate, somewhere in between the two.</p>
<p>My whole body reacts at once. A clench deep inside, inside a vagina I've had for exactly one day, and a warmth blooming outward from that single point of contact like a match struck in a dark room.</p>
<p>"Oh..."</p>
</div>
<div class="choice-block">
<<link '<span>🔍 Keep exploring... (curiosity wins)</span>' "Home_Bathroom_ShowerExplore">><</link>>
<<link '<span>🚿 Finish quickly and get out (not ready)</span>' "Home_Bathroom_ShowerAvoid">><</link>>
</div><<HUD>>
<div class="prose-block">
<p>My hand stays put. My brain is saying stop, my body is saying the exact opposite. Curiosity wins out over fear, or maybe it isn't curiosity at all, maybe it's just the biological imperative of a nervous system wired to chase sensation, and this particular nervous system is freshly wired and firing on every cylinder it has.</p>
<p>I circle the clit with a soapy fingertip, slow and gentle, testing the water.</p>
<p>The sensation keeps building, different from anything I ever felt as a man. There's no single focal point, no linear climb from soft to hard to release. This is a spreading warmth, a tightening coil, nerve endings lighting up across my whole body at once, my nipples aching, my thighs tensing, the small of my back arching without my permission, and between my legs, a slickness that isn't just the shower water anymore.</p>
<p>My nipples ache, hard now. My breathing speeds up. Water runs over my closed eyes.</p>
<p>I try slipping a finger inside, slowly, feeling myself open around it, warm, wet, tight, ridged walls that grip back. Alive, somehow. I add a second finger and feel the stretch, a fullness I have absolutely no frame of reference for.</p>
<p>I find a spot on the front wall, ridged and swollen, different from the tissue surrounding it. I press it and my knees actually buckle.</p>
<p>"What the... fuck..."</p>
<p>The G-spot, apparently. I press it again and my hips rock forward on their own, my body moving without waiting for my input, chasing the sensation itself.</p>
<p>I go back to the clit, circling faster now. The coil tightens further. I'm panting hard. The shower water mixes with a slickness coming from somewhere inside me, and the clinical part of my brain notes that my body is producing its own lubrication while the rest of my brain has gone to white noise.</p>
<p>The orgasm doesn't so much arrive as detonate.</p>
<p>It starts at the clit and radiates outward, through my pelvis, up my stomach, into my chest. My vaginal muscles clench rhythmically, and I can actually feel them pulsing, squeezing around my own fingers, each clench sending another wave through my whole body. My legs give out completely and I slide down the shower wall onto the tile.</p>
<p>I'm moaning, high and breathy and feminine, completely involuntary sounds coming out of me without asking permission first. The sound of my own pleasure shocks me almost as much as the pleasure itself does. That's my voice making those sounds, because of what my hand is doing, because of what my body has become.</p>
<p>The aftershocks keep going for fifteen or twenty seconds, small clenches and twitches fading out like echoes. My hand is still between my legs, fingers still inside, and I can feel the last ripples die down.</p>
<p>I sit under the running water, still panting, heart racing in a chest that has breasts on it now. My hands are shaking.</p>
<p>"That was... that wasn't like..."</p>
<p>Male orgasm was always build, peak, release, done. One direction, one moment, then the refractory period, the flatline, the don't-touch-me, roll over and stare at the ceiling.</p>
<p>This was build, build, build, explode, ripple, ripple, ripple, echo, echo, afterglow, and somehow my body is already humming again, already asking. Again already?</p>
<p>"No. Absolutely not."</p>
<p>I stand up on shaking legs and finish showering on autopilot, get out, wrap myself in a towel. My whole body is still vibrating at a frequency I can feel in my teeth.</p>
<p>I look at my flushed face in the foggy mirror. Wet hair. Bright eyes. Pink cheeks. A woman who just came for the first time, in a body she's had for less than a day.</p>
<p>"What is happening to me."</p>
<p>It isn't a question. There's no question mark in it anywhere. It's just a statement aimed straight at the universe, and the universe doesn't bother answering.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the bathroom</span>' "Home_Bathroom">>
<<set $showeredDay1 to true>>
<<set $firstShower to true>>
<<set $firstOrgasmSolo to true>>
<<set $player.arousal to 15>>
<<set $player.fem to Math.clamp($player.fem + 3, 0, 100)>>
<<set $player.cor to Math.clamp($player.cor + 2, 0, 100)>>
<<run window.rbAddMilestone("First orgasm, in this body.")>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I pull my hand away and wash quickly instead, clinical and mechanical, careful not to linger anywhere. No exploring. No feeling any of it.</p>
<p>The arousal is still there, I can feel it, a warmth between my legs, a swelling around the spot I accidentally found earlier. My body is responding to stimulation and I'm choosing to ignore it the way you ignore a fire alarm you're fairly sure is just a drill.</p>
<p>I get out, towel off without looking down, wrap the towel around my chest, around my chest, because there are breasts there now that need covering, and stand in the bathroom just breathing until the warmth finally fades.</p>
<p>It doesn't fully fade, honestly. It just goes underground, waiting. It always comes back eventually.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the bathroom</span>' "Home_Bathroom">>
<<set $showeredDay1 to true>>
<<set $firstShower to true>>
<<set $player.fem to Math.clamp($player.fem + 1, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress + 5, 0, 100)>>
<</link>>
</div><<HUD>>
<div class="map-here">📍 Home → My Room</div>
<h1>My <span class="accent">Room</span></h1>
<div class="prose-block">
<p>The mattress is on the floor, grey sheets that used to be white, a fist-shaped water stain on the ceiling directly above it. Your grandmother's hoodie is folded over the one chair with the short leg. Three steps in any direction gets you to another part of your life.</p>
</div>
<div class="action-list">
<<if $day is 0>>
<<if not $gotDressed>>
<<link '<span class="action-icon">👕</span><span class="action-text">Get dressed<span class="action-sub">Grey hoodie, black joggers, the sneakers held together by denial.</span></span>' "Home_Bedroom">>
<<set $gotDressed to true>>
<<run window.rbAddJournalEntry("Getting Ready", "The faded grey hoodie, oversized, pilling at the cuffs, the one possession I'd grab if the building caught fire. It was my grandmother's. Black joggers. White sneakers with frayed laces. I grab the DashDrop bag, my helmet, the scooter keys.")>>
<</link>>
<<else>>
<p class="text3 small">You're dressed. Grey hoodie, black joggers, the sneakers that are one pothole away from retirement.</p>
<</if>>
<<if $flyerFound and not $calledNovaCure>>
<<link '<span class="action-icon">📄</span><span class="action-text">Take out the flyer again<span class="action-sub">$2,000. One visit. One pill.</span></span>' "D00_Evening">><</link>>
<</if>>
<<if $metDrAmelia>>
<<link '<span class="action-icon">😴</span><span class="action-text">Go to sleep<span class="action-sub">It's late, and today already changed everything.</span></span>' "D00_LastNight">><</link>>
<</if>>
<<elseif $day is 1>>
<<if not $dressedDay1>>
<<link '<span class="action-icon">👚</span><span class="action-text">Try to get dressed<span class="action-sub">Marcus's clothes. Nothing is going to fit.</span></span>' "Home_Bedroom_DressDay1">><</link>>
<<else>>
<p class="text3 small">Hood up, head down. Nothing fits, but you're dressed enough to leave.</p>
<</if>>
<<elseif $day is 2>>
<<if $d02BoughtClothes and not $d02TriedOnClothes>>
<<link '<span class="action-icon">👚</span><span class="action-text">Try on the new clothes<span class="action-sub">Bag's still sitting on the bed</span></span>' "Home_Bedroom_TryOnD2">><</link>>
<<elseif $timeslot is "Night" and $d02Ate>>
<<link '<span class="action-icon">🛏️</span><span class="action-text">Go to bed<span class="action-sub">It's been enough for one day.</span></span>' "D02_Bedtime">><</link>>
<<elseif $timeslot is "Night">>
<p class="text3 small">You should eat something before you crash.</p>
<<else>>
<p class="text3 small">The new clothes still feel new. You keep noticing them.</p>
<</if>>
<</if>>
<<link '<span class="action-icon">🪞</span><span class="action-text">Check the mirror<span class="action-sub">See what's looking back today</span></span>' "Home_Bedroom_Mirror">><</link>>
<<if $day gte 1 and ($timeslot is "Night" or $player.arousal gt 30)>>
<<link '<span class="action-icon">🛏️</span><span class="action-text">Take a minute to yourself<span class="action-sub">Nobody's watching. The door's locked.</span></span>' "Home_Bedroom_Alone">><</link>>
<</if>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back to the apartment</span>' "Home">><</link>>
</div><<HUD>>
<div class="prose-block">
<<if $day is 0>>
<p>I look in the mirror. Angular jaw, stubble patches, dark circles, the usual. The word that comes to mind is "tired," less a person than a condition at this point.</p>
<<elseif $day is 1 and $player.fem lt 20>>
<p>She's still there, the woman who stole my reflection. B-cups under the t-shirt. Hips I keep bumping into doorframes with. Freckles that survived the apocalypse of my face. I don't know who I'm looking at, but she doesn't look away first.</p>
<<elseif $day is 2 and $d02TriedOnClothes>>
<p>A girl in jeans and a t-shirt looks back at me. Unremarkable, ordinary, plain. Two days ago that word would've sounded like an insult. Today it sounds like something worth working toward.</p>
<<else>>
<p>I check the mirror. Same face as this morning, mostly. Still learning the shape of it.</p>
<</if>>
</div>
<div class="choice-block">
<<link '<span>← Step away</span>' "Home_Bedroom">><</link>>
</div><<HUD>>
<div class="prose-block">
<p>I lie back on the mattress, grey sheets, water-stain ceiling, the specific quiet of an apartment with nobody in it but me.</p>
<<if $firstOrgasmSolo>>
<p>My hand knows the way now. I'm not discovering anything tonight, just visiting somewhere I've already been. Slower this time, no shower water rushing to cover the sound. Just me, and the sounds I make, and the ceiling that's heard all of it and kept every secret.</p>
<<else>>
<p>I haven't done this yet, not on purpose, not sober, not lying still enough to actually pay attention. My hand moves anyway, slow and uncertain, learning a map nobody handed me instructions for.</p>
<</if>>
<p>Afterward, the ceiling looks the same. The water stain hasn't moved. But something in my chest has, a little, loosened up.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to my room</span>' "Home_Bedroom">>
<<set $player.arousal to 0>>
<<set $player.stress to Math.clamp($player.stress - 10, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 5, 0, 100)>>
<<if not $firstOrgasmSolo>>
<<set $firstOrgasmSolo to true>>
<<run window.rbAddMilestone("First orgasm, in this body.")>>
<</if>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I get home, lock the door, and dump the bag on the bed. Out come the two t-shirts, the jeans, the panties pack, the sports bra, laid out on the grey sheets like artifacts from someone else's life. Someone else's basics. Mine now, apparently.</p>
<<if not $closetSplit>>
<p>I open the closet to hang the new clothes up and Marcus is still in there. His hoodies, grey, black, navy. His t-shirts in various states of decay. His joggers. The DashDrop jacket, orange as a traffic cone.</p>
<p>The closet gets split right now. Left side, Marcus's clothes, hanging limp, waiting for a body that isn't coming back. Right side, two t-shirts, one pair of jeans, and a sports bra, still slightly damp from the sink wash.</p>
<p>It's a small closet, and there isn't room for two people's wardrobes, not for long. I push Marcus's clothes as far left as they'll go, making room. The hangers scrape against the rod with a sound like teeth grinding.</p>
<p>I don't get rid of them, not yet, I can't. But I push them aside and make room for what's here now, what's real now, what I'm actually wearing now. The grey hoodie stays right in the center, neutral territory. It stays.</p>
<</if>>
<p>I pull off the hoodie, the joggers, the boxers that have spent two days bunching, sliding, and failing at their one job. I stand in the bedroom in nothing, bare chest, bare legs, this body sitting in the late afternoon light.</p>
<p><strong>The sports bra.</strong></p>
<p>I step into it and pull it up. I don't know the lean-and-scoop technique yet, that's a tutorial I haven't watched. I just tug it over my breasts and adjust until they're settled inside the cups.</p>
<p>The compression hits immediately.</p>
<p>"Oh thank god."</p>
</div>
<<ImagePlaceholder "Sports bra on, the relief of compression, mirror" "portrait" "assets/characters/mc-female-phase1/sportsbra-mirror.png">>
<div class="prose-block">
<p>My breasts are held in place now, minimized, supported, compressed against my chest. The constant bounce, the sway, the awareness of them shifting with every step and every breath that I've been dealing with for thirty-six hours straight, all reduced down to a gentle pressure. The sports bra doesn't make them disappear, it just makes them manageable. The relief runs so deep, physically, that I close my eyes and just stand there a moment, breathing, feeling what it's like to have my chest held instead of hanging.</p>
<p><strong>The panties.</strong></p>
<p>I step out of the boxers for the last time and into the bikini-cut panties, black cotton, simple, the kind you buy in a three-pack without thinking twice about it. I pull them up.</p>
<p>They sit on my hips differently than boxers ever did, higher, snugger, following the curve from waist to hip instead of fighting it the whole way. The fabric lies flat against my vulva, no bunching, no sagging, no excess material with nothing left to fill it. They actually fit. They're made for this body. Simple black cotton, and putting them on feels like a small revelation I wasn't prepared for.</p>
<p>The fabric is soft against parts of me I'm still learning to have.</p>
<p><strong>The jeans.</strong></p>
<p>I pull the skinny jeans on. They're tight past my hips, I have to shimmy, hook my thumbs in the waistband, and work them up in stages, denim stretching over hip bones wider than any jeans I've ever owned. But once they're up, they actually fit. Not hanging, not sliding, not cinched tight with a drawstring. The waistband sits right at my natural waist. The denim molds to my hips, my thighs, my ass. I button them and look down.</p>
<p>My legs look different now, long and shaped, the denim following curves I didn't have three days ago. I turn sideways. There's an actual ass here now, round enough to fill the jeans out, visible in profile. Marcus's ass was flat enough to double as a bookshelf. This one has opinions about denim.</p>
<p><strong>The t-shirt.</strong></p>
<p>Black fitted tee over the sports bra. It fits close, showing the line of the bra, the indent of my waist, the gentle swell of compressed breasts underneath. Not flashy, not revealing, not making any kind of statement. Just clothes. Women's clothes on a woman's body.</p>
<p>I look in the mirror.</p>
</div>
<<ImagePlaceholder "First full outfit, mirror, jeans and a t-shirt, unremarkable" "portrait" "assets/characters/mc-female-phase1/first-outfit-mirror.png">>
<div class="prose-block">
<p>A girl looks back at me. A regular girl in jeans and a t-shirt, not stunning, not glamorous, not "passing," that word implies there's something to catch, and nobody looking at this reflection would catch anything except a twenty-year-old woman with messy hair, no makeup, and freckles.</p>
<p>She looks like she could be standing in line at the grocery store. She looks like she could be sitting in a coffee shop. She looks like she could be in a lecture hall, or on a bus, existing in any of the million places where women exist without any of it being remarkable at all.</p>
<p>She looks unremarkable, and somehow that's the most remarkable thing I've ever seen in my life.</p>
<p>I stare for a long time. The clothes shouldn't matter, fabric and stitching and cotton shouldn't change anything fundamental about a person. But they do. They take the body that's been terrifying me for two straight days and make it look almost normal. Not someone else's body. Not a mistake. Not a medical anomaly. Just a body, in clothes, going about its day.</p>
<p>I don't know how to feel about this yet. I don't know if what I'm feeling is acceptance or resignation or something stuck in between. I just know the girl in the mirror is me, and she's wearing clothes that fit, and for the first time since I woke up yesterday, I don't feel like I'm drowning.</p>
<p>I'm still underwater. But I can see the surface now.</p>
</div>
<div class="choice-block">
<<link '<span>🔍 Take the clothes off. Look closer. (Explore)</span>' "Home_Bedroom_MirrorExploreD2">>
<<set $closetSplit to true>>
<</link>>
<<link '<span>📱 Leave them on. Check phone, order food. (Move on)</span>' "Home">>
<<set $closetSplit to true>>
<<set $d02TriedOnClothes to true>>
<<set $player.fem to Math.clamp($player.fem + 1, 0, 100)>>
<<set $timeslot to "Evening">>
<<set $equipped.top to {id:"tshirt_black",name:"Plain Black T-shirt"}>>
<<set $equipped.bottom to {id:"jeans_blue_skinny",name:"Dark Blue Skinny Jeans"}>>
<<set $equipped.bra to {id:"sports_bra_black",name:"Basic Black Sports Bra"}>>
<<set $equipped.underwear to {id:"panties_cotton_3pk",name:"Cotton Bikini Panties (3-pack)"}>>
<<run window.rbAddMilestone("Wore women's clothes for the first time.")>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I pull the t-shirt off and stand there in the sports bra and panties, turning to the side.</p>
<p>My profile shows the swell of breasts under black compression fabric, the dip of my waist, the curve of hip and ass under black cotton. An hourglass shape, a body like the letter S if the letter S had freckles and hazel-green eyes and a persistent sense of unreality attached to it.</p>
<p>I take the sports bra off and my breasts fall free, not dramatically, they're not big enough for drama, but they settle. Round, soft, pink-rose nipples pointing slightly outward. I cup them, lift them slightly, let them fall again. A gentle bounce. Weight in my palms. Skin against skin.</p>
<p>These are my breasts. They actually belong to me. The thought hasn't fully landed yet, it just keeps hovering above my head like a cartoon anvil, I know it's there, I know it's going to hit eventually, but for now it's just hanging.</p>
<p>I turn around and look over my shoulder at my own ass filling out the black panties, a round shape Marcus never had in his life. His was flat enough to make chairs uncomfortable. This one is actually present. Not huge. But curved, visible, shaped.</p>
<p>I face forward and look at the panties, the flat front, no bulge, no outline, just smooth cotton over smooth skin over the absence of everything I used to have and the presence of everything I'm still learning.</p>
<p>I touch myself through the fabric, feeling the softness underneath, the slight give of flesh, the warmth.</p>
<p>Arousal stirs faintly, distant, like someone turned a dial from zero up to one. It's there if I follow it. My fingertips press slightly harder and the clit responds right through the cotton, a pulse of warmth, a clench somewhere deep inside.</p>
</div>
<div class="choice-block">
<<link '<span>✋ Enough. Get dressed. Move on.</span>' "Home">>
<<set $player.fem to Math.clamp($player.fem + 3, 0, 100)>>
<<set $player.cor to Math.clamp($player.cor + 1, 0, 100)>>
<<set $player.arousal to Math.clamp($player.arousal + 5, 0, 100)>>
<<set $d02TriedOnClothes to true>>
<<set $timeslot to "Evening">>
<<set $equipped.top to {id:"tshirt_black",name:"Plain Black T-shirt"}>>
<<set $equipped.bottom to {id:"jeans_blue_skinny",name:"Dark Blue Skinny Jeans"}>>
<<set $equipped.bra to {id:"sports_bra_black",name:"Basic Black Sports Bra"}>>
<<set $equipped.underwear to {id:"panties_cotton_3pk",name:"Cotton Bikini Panties (3-pack)"}>>
<<run window.rbAddMilestone("Wore women's clothes for the first time.")>>
<</link>>
<<link '<span>🔥 Keep going... (bedtime exploration later)</span>' "Home">>
<<set $player.fem to Math.clamp($player.fem + 3, 0, 100)>>
<<set $player.cor to Math.clamp($player.cor + 1, 0, 100)>>
<<set $player.arousal to Math.clamp($player.arousal + 15, 0, 100)>>
<<set $d02ExploreDeep to true>>
<<set $d02TriedOnClothes to true>>
<<set $timeslot to "Evening">>
<<set $equipped.top to {id:"tshirt_black",name:"Plain Black T-shirt"}>>
<<set $equipped.bottom to {id:"jeans_blue_skinny",name:"Dark Blue Skinny Jeans"}>>
<<set $equipped.bra to {id:"sports_bra_black",name:"Basic Black Sports Bra"}>>
<<set $equipped.underwear to {id:"panties_cotton_3pk",name:"Cotton Bikini Panties (3-pack)"}>>
<<run window.rbAddMilestone("Wore women's clothes for the first time.")>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>I go to the closet, my closet, the three hoodies, the four t-shirts, the two pairs of joggers, the jeans. Marcus's clothes. Male clothes.</p>
<p>I try the black hoodie and it just swims on me. The shoulders sag past where mine end now, the sleeves go past my hands, the hem hits mid-thigh. On Marcus this was a fitted hoodie. On whoever I am now, it's basically a dress. Good, honestly, the bigger the better. I want to disappear inside fabric and never come back out.</p>
<p>The joggers won't stay up once I pull them on. My waist has shrunk five inches but my hips have grown three, so the waistband sits on top of the hip bones and immediately slides. I cinch the drawstring as tight as it goes, which bunches the fabric at the front in a way that looks ridiculous. The legs are too long now too, I've lost three inches of height, and they pool around my ankles.</p>
<p>The sneakers are too big once I shove my feet in, size ten men's on what feels like a size seven women's foot. My toes don't reach the ends. I stuff the toes with balled-up socks and tie the laces as tight as they'll go.</p>
<p>No sports bra, no bra at all. My breasts move freely under the hoodie, and with every step, every motion, they shift and bounce and remind me they exist. Walking to the kitchen turns into a physics experiment in momentum I never asked to run.</p>
<p>No female underwear either. I keep the boxers, bunched and held in place by the cinched joggers. The fabric gathers where it shouldn't and gaps where it shouldn't. Nothing about this outfit fits. Nothing about any of this fits, honestly.</p>
<p>I check the hallway mirror before I leave. A small woman drowning in men's clothes, hood up, head down. If nobody looks too hard, I could pass as a girl wearing her boyfriend's clothes. If nobody looks at all, I could pass as a person who isn't screaming internally at a frequency only dogs can hear.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to my room</span>' "Home_Bedroom">>
<<set $dressedDay1 to true>>
<<set $player.stress to Math.clamp($player.stress - 5, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 10, 0, 100)>>
<</link>>
</div><<HUD>>
<<SceneDivider "Night">>
<<ImagePlaceholder "Lying in bed, night two, panties and a fitted t-shirt" "banner" "assets/characters/mc-female-phase1/d02-bed-night.png">>
<div class="prose-block">
<p>I get ready for bed the way a woman gets ready for bed, which I'm learning is different from how a man does it. I take off the jeans, the shimmy works in reverse too, peeling them down over hips, and keep the panties and t-shirt on. The panties feel right, the cotton sits against my skin like it was made for exactly this body, which it was, since women's underwear is made for women's bodies and I have one of those now.</p>
<p>I lie in bed in the new panties and the fitted t-shirt, lights off.</p>
<p>The ceiling stain is still there, the fist, the chrysalis, whichever it is tonight.</p>
<p>My body is warm under the sheets. The t-shirt has ridden up slightly, exposing my stomach. The panties sit on my hip bones, I can feel the elastic, light but present. My thighs are pressed together. My breasts rest against my chest, slightly to each side, a constant warm weight I keep noticing.</p>
<p>I'm a woman lying in bed in women's underwear and a t-shirt, and my body is telling me things I haven't fully decided to listen to yet.</p>
</div>
<div class="choice-block">
<<link '<span>🌙 Just sleep. It's been enough for one day.</span>' "Sleep">>
<<set $player.energy to 85>>
<</link>>
<<link '<span>🔥 My hand is drifting... (explore)</span>' "D02_SelfExplore">>
<<set $player.fem to Math.clamp($player.fem + 2, 0, 100)>>
<<set $player.cor to Math.clamp($player.cor + 1, 0, 100)>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>My hand drifts, not urgent, not desperate, just slow and exploratory, the curiosity that fear kept at bay all day finally creeping out now that the lights are off and nobody's watching and it's just me and this body and the dark.</p>
<p>Over the panties first, pressing gently, feeling the shape of myself through cotton, the soft mound, the slight warmth, the faintest contour of lips underneath the fabric. I press harder and a pulse of warmth answers back. My body seems to be saying: I'm here, pay attention.</p>
<p>Under the waistband, my fingers trace the outer lips, soft and warm, finer hair than before, darker but silky now. The inner lips, delicate and warm, already slightly slick. My body responds to the lightest thought of touch these days. I'm barely doing anything and I'm already wet, not drenched, just the faint slickness of a body that's been waiting all day for someone to pay attention to it.</p>
<p>I find my clit faster this time, already knowing where it is, knowing the feel of the hood, the small firm nub underneath. I circle it slowly.</p>
<p>Tonight I take my time. No shower urgency, no panic, no accidental-on-purpose excuse. Just the dark and the quiet and the slow build and the deliberate decision to touch myself in a body I've had for two days now. This is a choice. I'm choosing this.</p>
<p>I try different pressures. Fast circles feel too intense, they make me gasp, my hips jumping off the mattress. Slow pressure builds something exquisite but maddening, a tightening that winds without ever releasing. Side to side gives a completely different texture, sharper, more focused. Small rapid taps directly on the clit send electric jolts through my pelvis and make my thighs clench.</p>
<p>I slide one finger inside, familiar territory now, warm and wet and textured on the inside. I curl it toward my belly and the ridged spot, the G-spot, swells against my fingertip. My back arches off the mattress on its own.</p>
<p>I try the combination next, finger inside curled against the G-spot, thumb working the clit, rocking my hips against my own hand. The pressure keeps building and building, the dual sensation forming a kind of circuit, internal pressure and external stimulation feeding each other in a loop that tightens with every heartbeat.</p>
<p>I let myself fantasize, and this is the first time I've ever fantasized as a woman. The images flicker, half-formed, the delivery guy's smile, a faceless mouth between my legs, the warmth of breath, the softness of lips against my most sensitive point. The feeling of being kissed on the neck, that spot below my ear I don't remember being sensitive before, now sending a shiver down my spine at the thought of teeth there. Hands on my breasts, large hands, someone else's, cupping and squeezing while I arch into the touch.</p>
<p>None of it forms a real narrative. They're just fragments of desire without a specific target, pure sensation, the idea of being touched, of being wanted, of someone else's body against this one.</p>
<p>I come quieter than in the shower, a deep, rolling contraction that starts at the clit and spreads out like a stone dropped in water. My toes curl. My mouth falls open in a silent "O." The pulsing lasts longer this time, and I actually count them, trying to quantify it, the scientist in me needing to measure even this: one, two, three, four, five, six, seven, eight contractions. Each one sends a wave of warmth through my pelvis, my stomach, my chest.</p>
<p>I lie in the dark afterward, hand still cupped between my legs, feeling the dampness and the warmth settle into a slow afterglow, a humming calm my male body never quite managed to reach. That body had release. This body has afterglow. There's a real difference. Release is a door slamming shut. Afterglow is a door opening.</p>
<p>I don't hate this. I don't love it either. But my body is telling me something, and for the first time, I'm actually starting to listen instead of covering my ears.</p>
</div>
<div class="choice-block">
<<link '<span>🌙 Sleep now. Enough discoveries for one day.</span>' "Sleep">>
<<set $player.arousal to 0>>
<<set $player.stress to Math.clamp($player.stress - 5, 0, 100)>>
<<set $player.energy to 90>>
<<if not $firstOrgasmSolo>>
<<set $firstOrgasmSolo to true>>
<<run window.rbAddMilestone("First orgasm, in this body.")>>
<</if>>
<</link>>
</div><<HUD>>
<div class="map-here">📍 Home → Kitchen</div>
<h1>The <span class="accent">Kitchen</span></h1>
<div class="prose-block">
<p>A kitchenette, really, counter, stovetop, a cabinet above it with eleven ramen packets standing between you and a very bad month. The microwave died three weeks ago. The single chair at the tiny table has one leg shorter than the others.</p>
</div>
<div class="action-list">
<<link '<span class="action-icon">☕</span><span class="action-text">Make instant coffee<span class="action-sub">Bitter, but it works.</span></span>' "Home_Kitchen">>
<<set $player.energy to Math.clamp($player.energy + 5, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress - 2, 0, 100)>>
<</link>>
<<if $day is 0>>
<<if not $ateBreakfast>>
<<link '<span class="action-icon">🥣</span><span class="action-text">Eat breakfast<span class="action-sub">Stale cereal, expired milk, and your phone.</span></span>' "Home_Kitchen_Breakfast">><</link>>
<<else>>
<p class="text3 small">You already ate. Your stomach isn't impressed, but it's quiet for now.</p>
<</if>>
<<elseif $day is 1 and $novaCureDay1Done>>
<<if not $ateDinnerDay1>>
<<link '<span class="action-icon">🍜</span><span class="action-text">Eat something<span class="action-sub">Leftover ramen. Cold, from the cup.</span></span>' "D01_EveningHome">><</link>>
<<else>>
<p class="text3 small">You're not hungry anymore. You're not much of anything anymore.</p>
<</if>>
<<elseif $day is 2 and $d02Ate>>
<p class="text3 small">Pizza's gone. You're full, for once.</p>
<</if>>
<<link '<span class="action-icon">🥤</span><span class="action-text">Drink some water<span class="action-sub">Free, at least.</span></span>' "Home_Kitchen">>
<<set $player.stress to Math.clamp($player.stress - 1, 0, 100)>>
<</link>>
<<if $day is 2 and $cookingSkill is 0>>
<<link '<span class="action-icon">🍝</span><span class="action-text">Cook something<span class="action-sub">Try actual pasta, not just ramen</span></span>' "Home_Kitchen_CookD2">><</link>>
<<elseif $knowsBeanSoupRecipe>>
<<link '<span class="action-icon">🍲</span><span class="action-text">Make Hector's bean soup<span class="action-sub">Cheaper than ramen, tastes like God's kitchen</span></span>' "Home_Kitchen">>
<<set $player.energy to Math.clamp($player.energy + 35, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<</link>>
<<else>>
<<link '<span class="action-icon">🍜</span><span class="action-text">Cook something<span class="action-sub">Instant ramen, cereal, or eggs, whatever's in the cabinet</span></span>' "Home_Kitchen">>
<<set $player.energy to Math.clamp($player.energy + 20, 0, 100)>>
<</link>>
<</if>>
<<if ($timeslot is "Evening" or $timeslot is "Night") and not ($day is 2 and $d02Ate)>>
<<if $player.money gte 15>>
<<link '<span class="action-icon">🛵</span><span class="action-text">Order delivery<span class="action-sub">Somebody else cooks tonight</span></span><span class="action-cost">$15-30</span>' "Home_Kitchen_OrderDelivery">><</link>>
<<else>>
<div class="action-btn action-locked"><span class="action-icon">🛵</span><span class="action-text">Order delivery<span class="action-sub">Can't afford it right now</span></span></div>
<</if>>
<</if>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back to the apartment</span>' "Home">><</link>>
</div><<HUD>>
<<if $day is 2 and not $metCody>>
<<ImagePlaceholder "Delivery guy Cody at the door with a pizza box" "float" "assets/characters/supporting/cody-delivery.png">>
<div class="prose-block">
<p>The irony isn't lost on me, a delivery person ordering delivery. I open the DashDrop app, the same one I use on the other side of the transaction, and order a pizza. Large pepperoni, $18. I tip $8 because I know exactly what it's like to carry food up three flights for someone who stiffs you.</p>
<p>Thirty minutes later, a knock at the door.</p>
<p>I open it. The delivery guy looks early twenties, dark hair, easy smile, a cap from a pizza place that's seen better days. He sees me and his expression does something subtle, a shift from "delivery mode" to "oh, she's pretty" that I've never once been on the receiving end of before.</p>
<<Dialogue "Cody" "🍕" "Having a night in?" "">>
<p>"Yeah. Thanks." I take the pizza and my fingers brush his on the box. His eyes flick down to my hand, then back up to my face. He's looking at me the way guys look at girls. I know this look. I've done this look myself, or tried to, awkwardly, from the other side. But being inside it feels different. Being seen is nothing like seeing.</p>
<p>I close the door and lean against it. The pizza box is warm against my chest.</p>
<p>A delivery guy just smiled at me, a cute delivery guy, and some part of my brain, some traitorous little corner of it, noted that he was cute. Filed it away. Kept it.</p>
<p>I don't know what to do with that information, so I eat the pizza instead.</p>
</div>
<<SceneDivider "Phone">>
<div class="prose-block">
<p>I eat pizza on the couch and watch something on TV that doesn't really register. I try to feel normal. The jeans and t-shirt help, I kept them on after the thrift store. It's almost ordinary. Almost.</p>
<p>My phone buzzes. Nolan, for the third time now: "seriously u good?? Can I do anything?"</p>
<p>I stare at it. Three question marks. Nolan, who never uses punctuation, suddenly using three question marks. He's actually worried.</p>
</div>
<<Dialogue "Nolan" "💪" "seriously u good?? Can I do anything?" "">>
<<Dialogue $player.name "👤" "yeah just a bug. Give me a couple days." "you">>
<<Dialogue "Nolan" "💪" "aight feel better dude 💪" "">>
<div class="prose-block">
<p>Dude. He called me dude. I put the phone face-down on the couch.</p>
<p>The DashDrop app has a shift scheduled for tomorrow. I stare at the notification. I have to work. I have to go out into the world on a scooter and deliver food to strangers who'll look at me and see a woman they don't recognize, and I have to act like that's normal, because if I don't work, I don't eat, and the fact that my body changed overnight hasn't changed the basic economics of being broke.</p>
<p>Money doesn't stop being necessary just because your chromosomes rearranged themselves.</p>
<p>One more notification, an email from the university: "Records update received from [legal office]. Please confirm your preferred name for academic correspondence."</p>
<p>I open it. There's a text field. Preferred name.</p>
<p>I type "<<print $player.name>>." Stare at it. Delete it. Type "Marcus." Stare at that too. Delete it. Type "<<print $player.name>>" again.</p>
<p>My finger hovers over Send. <<print $player.name>>. That's the name on my new ID now. The name NovaCure printed on the documents. The name sitting in a database somewhere, attached to my Social Security number, replacing the one my parents gave me twenty years ago.</p>
<p>I press Send.</p>
<p>The confirmation email arrives eight seconds later. "Thank you, <<print $player.name>>. Your records have been updated."</p>
<p>I close the email and put the phone face-down on the couch. I eat another slice of pizza and try not to think about it. Try not to think about it at all.</p>
</div>
<div class="choice-block">
<<link '<span>🛏️ It's getting late. Go to bed.</span>' "Home_Kitchen">>
<<set $player.money -= 26>>
<<set $metCody to true>>
<<set $d02NolanTexted to true>>
<<set $d02UniEmail to true>>
<<set $d02Ate to true>>
<<set $player.energy to Math.clamp($player.energy + 25, 0, 100)>>
<<set $timeslot to "Night">>
<</link>>
</div>
<<else>>
<<set _rbCost to window.rbRandom(15, 30)>>
<<set _rbNpc to window.rbRandom(1, 3)>>
<div class="prose-block">
<<switch _rbNpc>>
<<case 1>>
<p>A young woman in a delivery jacket hands over the bag without much ceremony. "Enjoy your meal." She's gone before you finish saying thanks.</p>
<<case 2>>
<p>A guy about your age, checking his phone more than he checks you, hands off the order on autopilot. "Have a good one."</p>
<<case 3>>
<p>Wrong order. It happens. The delivery guy looks mortified, "oh no, oh man, I am so sorry", and offers to run back for the right one. You tell him not to bother, and he leaves you a discount code out of sheer guilt.</p>
<</switch>>
</div>
<div class="choice-block">
<<link '<span>← Back to the kitchen</span>' "Home_Kitchen">>
<<run window.rbSpend(_rbCost, "food")>>
<<set $player.energy to Math.clamp($player.energy + 30, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<<if $day is 2>><<set $d02Ate to true>><</if>>
<</link>>
</div>
<</if>><<HUD>>
<div class="prose-block">
<p>I'm going to cook something that isn't instant ramen for once. This is either growth or desperation. Possibly both at the same time.</p>
<p>Pasta, I can manage pasta. Boil water, add noodles, heat sauce from a jar. Three steps. Even this body, with its different height and different reach and different everything, should be able to handle three steps.</p>
<p>I fill the pot. The faucet is the same but my hands are smaller now and the pot feels heavier than it should. I set it on the burner and turn the gas on, the click-click-click of the igniter catching, then a blue flame.</p>
<p>While the water heats I open the sauce jar, twisting, then twisting harder. My grip strength has dropped along with the rest of my upper body mass, and the jar simply won't budge. I try running it under hot water. I try the rubber grip trick with a dishcloth. I try swearing at it directly.</p>
<p>The jar defeats me for a solid four minutes. Then the lid finally pops and marinara sauce sprays clean across my t-shirt.</p>
<p>"GREAT."</p>
<p>I change shirts and add this to the running list: jar lids are apparently a gendered experience. Men open jars without thinking twice. Women develop strategies. I now need strategies of my own.</p>
<p>The pasta turns out edible, if I'm being generous, slightly overcooked. The sauce comes straight from a jar and I didn't add anything to it because I honestly don't know what "anything" would even be. But it's warm and it's real food, and I sit at the wobbly kitchen table and eat it with a fork, the first meal I've actually cooked and sat down for in weeks.</p>
<p>It tastes like survival, which mostly just tastes like Prego and overcooked penne. Not Michelin-star material. But mine.</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the kitchen</span>' "Home_Kitchen">>
<<set $player.energy to Math.clamp($player.energy + 30, 0, 100)>>
<<set $cookingSkill to 1>>
<</link>>
</div><<HUD>>
<div class="prose-block">
<p>Breakfast is stale cereal, store brand, the kind that comes in a bag instead of a box because the bag costs $1.29, with the last of the milk. I check the expiration date. Yesterday. I smell it anyway. Fine enough. I pour a bowl and eat standing at the counter, since the single chair at my tiny table has one leg shorter than the others and I'm not in the mood for wobbling this morning.</p>
<p>I check my phone while chewing.</p>
<p>Three missed calls from Pinnacle Student Loan Services, the automated kind that calls daily, sometimes twice, always from a different number so I can't block them. $23,400 in student loans. Minimum payment, $487 a month. I haven't made a payment in four months.</p>
<p>One email from Mrs. Park, subject line: <strong>FINAL NOTICE</strong>. I open it. "Mr. Cole, you are $1,300 past due (2 months). Pay in full within 7 days or vacate the premises. This is not a request. M. Park." I close the email and stare at the cabinet above the stove, then open it and count the ramen packets. Eleven. That's eleven dinners. If I get evicted, I won't even have a kitchen left to boil water in.</p>
<p>One notification from the DashDrop app: "Your shift starts at 11:00 AM. Tap to confirm." I tap. The gig economy doesn't care that I'm drowning, it just needs me carrying food from point A to point B on an electric scooter that's one pothole away from dying completely.</p>
<p>One text from Nolan: "Gym tomorrow? 💪" I text back: "maybe."</p>
<p>Nolan Reeves, the closest thing I've got to a best friend, which says less about Nolan's significance and more about how isolated I actually am. We met at freshman orientation, he sat next to me and said "this professor sucks, wanna get food?" and that was pretty much it. Two years of gym sessions, bad movies, and the kind of male friendship where genuine emotion gets communicated exclusively through shoulder punches and the word "bro."</p>
</div>
<div class="choice-block">
<<link '<span>← Back to the kitchen</span>' "Home_Kitchen">>
<<set $ateBreakfast to true>>
<<set $player.energy to Math.clamp($player.energy + 8, 0, 100)>>
<<run window.rbSendSMS("nolan", false, "Gym tomorrow? 💪")>>
<</link>>
</div><<CurrentObjective>>
<<HUD>>
<<ObjectiveBanner>>
<<if not $rentPaid and not $sawMrsParkRentReminder>>
<<SceneDivider "In the Hallway">>
<div class="prose-block">
<p>The door to 4B opens just as I'm coming in. Mrs. Park is standing in the hallway. How long has she been standing there?</p>
</div>
<<Dialogue "Mrs. Park" "🔑" "Mr. Cole." "">>
<<Dialogue "You" "😶" "Mrs. Park." "you">>
<<Dialogue "Mrs. Park" "🔑" "Rent." "">>
<<Dialogue "You" "😶" "I know." "you">>
<<Dialogue "Mrs. Park" "🔑" "Soon." "">>
<div class="prose-block">
<p>She turns and walks away, slippers making no sound on the carpet, like a small, disappointed ghost.</p>
</div>
<<set $sawMrsParkRentReminder to true>>
<</if>>
<div class="map-here">📍 Home</div>
<h1>Your <span class="accent">Apartment</span></h1>
<div class="room-grid">
<<link '<div class="room-card"><div class="room-title">🛏️ My Room</div><div class="room-sub">Mattress, phone, the grey hoodie</div></div>' "Home_Bedroom">><</link>>
<<link '<div class="room-card"><div class="room-title">🚿 Bathroom</div><div class="room-sub">Cold water only</div></div>' "Home_Bathroom">><</link>>
<<link '<div class="room-card"><div class="room-title">🍳 Kitchen</div><div class="room-sub">Eleven ramen packets, one wobbly chair</div></div>' "Home_Kitchen">><</link>>
<<link '<div class="room-card"><div class="room-title">🚪 Outside</div><div class="room-sub">Lock the door behind you</div></div>' "Outside">><</link>>
</div>
<div class="action-list" style="margin-top:1.4rem;">
<<link '<span class="action-icon">📺</span><span class="action-text">Watch TV<span class="action-sub">Mindless. Effective.</span></span>' "Home">>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<</link>>
</div><<HUD>>
<<if $dashdropDone and not $flyerFound>>
<<SceneDivider "Campus, Late Afternoon">>
<div class="prose-block">
<p>The route home takes me through campus. It always does, the shortcut between the delivery zone and my apartment cuts straight across the quad, past the lecture halls and the library and all the infrastructure of a future I'm technically enrolled in but can't quite touch.</p>
<p>Students everywhere in the amber light. A guy plays guitar on the quad steps, badly, to a girl who doesn't seem to mind. A group shares a blanket and a bag of chips. Two people kiss against a tree with the unselfconscious hunger of people who haven't learned to be embarrassed by wanting things yet.</p>
<p>I walk through them like a ghost. I'm technically one of them, student ID in my wallet, two classes I attend when my schedule allows it, a 2.7 GPA that represents the gap between what I'm capable of and what my circumstances actually allow. But I'm on the outside of every window here. Always looking in. Never knocking.</p>
<p>I pass the campus bulletin board, the usual chaos pinned in layers, club meetings, lost cats, tutoring, roommate wanted, protest this Saturday, DJ set tonight. I don't read any of it. Haven't joined a club, found a cat, needed a tutor, or gone to a party in months.</p>
<p>But something catches my eye anyway.</p>
</div>
<<ImagePlaceholder "Marcus in his hoodie, looking at the pole, dusk light" "banner" "assets/characters/mc-male/flyer-moment.png">>
<div class="prose-block">
<p>I stop, cross the last stretch of walkway, and stand in front of the pole like it owes me an explanation.</p>
</div>
<<ImagePlaceholder "The NovaCure flyer, stapled to a telephone pole at dusk" "banner" "assets/locations/campus/novacure-flyer.png">>
<div class="prose-block">
<p>Half-hidden under a notice about a missing tabby named Professor Whiskers, there's a flyer. Plain paper, generic font, no design, no color. The kind of flyer that's barely trying to be seen, which is exactly why it stands out, everything else on this board is screaming for attention.</p>
<p>I push Professor Whiskers aside and read it.</p>
<blockquote><strong>EARN $2,000, FAST</strong>
Healthy volunteers needed for Phase-II pharmaceutical trial.
One visit. One pill. Immediate compensation.
NovaCure Laboratories, Suite 604, Meridian Tower
Call: (555) 0147-CURE
<em>Must be 18-25, no current medications, no allergies.</em></blockquote>
<p>Two thousand dollars.</p>
<p>I read it again. Two thousand dollars. One visit. One pill.</p>
<p>Two thousand dollars is two months of rent. Two thousand dollars is the difference between having an apartment and sleeping on a park bench. Two thousand dollars is breathing room, space, a buffer between me and the void.</p>
<p>One pill. What kind of pill, though? Probably some allergy medication, or a vitamin. They test vitamins, right? Phase-II means it's already been through Phase-I, which means someone's already swallowed it and lived to talk about it. Probably. I didn't pay much attention in bio.</p>
<p>I tear the flyer off the pole, fold it into a small rectangle, and slip it into the front pocket of my hoodie, right next to the crumbs from Mrs. Calloway's cookie.</p>
</div>
<div class="choice-block">
<<link '<span>🏠 Pocket it and head outside toward home</span>' "Outside">>
<<set $flyerFound to true>>
<<run window.rbAddMilestone("Found the NovaCure flyer.")>>
<</link>>
</div>
<<elseif not $dashdropDone>>
<div class="prose-block">
<p>Campus in the late morning. Lecture halls, the library, students who all seem to know exactly where they're supposed to be. Your shift starts soon, this isn't really the time to linger.</p>
</div>
<div class="choice-block">
<<link '<span>← Back outside</span>' "District_Northgate">><</link>>
</div>
<<else>>
<div class="prose-block">
<p>Same quad, same amber light fading toward evening. The flyer is already folded up in your pocket, nothing else on this bulletin board is going to change your night now.</p>
</div>
<div class="choice-block">
<<link '<span>← Back outside</span>' "District_Northgate">><</link>>
</div>
<</if>><<HUD>>
<<set $luckyMartVisits += 1>>
<<if not $metHector>>
<div class="prose-block">
<p>The corner store on the ground floor of a building that's seen better decades. Fluorescent lights, a bell over the door that's lost half its ring, lottery ticket ads curling in the window.</p>
<p>Behind the register, a man in his forties, neat mustache, warm brown eyes, a plain polo with a name tag that reads <strong>LUIS</strong>. A newspaper is open in front of him. He looks up.</p>
</div>
<<Dialogue "Hector" "🧔" "Hey there, what can I get you?" "">>
<<set $metHector to true>>
<<else>>
<div class="prose-block">
<p>Same bell, same fluorescent hum. Hector looks up from his newspaper.</p>
</div>
<<set _rbGreet to window.rbRandom(1, $luckyMartVisits >= 5 ? 4 : 3)>>
<<switch _rbGreet>>
<<case 1>><<Dialogue "Hector" "🧔" "Morning, sweetheart." "">>
<<case 2>><<Dialogue "Hector" "🧔" "Hey there, what can I get you?" "">>
<<case 3>><<if $player.att gte 30>><<Dialogue "Hector" "🧔" "You look nice today." "">><<else>><<Dialogue "Hector" "🧔" "Cold enough for you?" "">><</if>>
<<case 4>><<Dialogue "Hector" "🧔" "The usual?" "">>
<</switch>>
<</if>>
<div class="action-list">
<<if $player.money gte 2>>
<<link '<span class="action-icon">🍫</span><span class="action-text">Buy a candy bar<span class="action-sub">A little sugar, a little stupid</span></span><span class="action-cost">$2</span>' "CornerStore">>
<<run window.rbSpend(2, "snack")>>
<<set $player.energy to Math.clamp($player.energy + 6, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress - 2, 0, 100)>>
<</link>>
<<else>>
<div class="action-btn action-locked"><span class="action-icon">🍫</span><span class="action-text">Buy a candy bar<span class="action-sub">You're $2 short</span></span></div>
<</if>>
<<link '<span class="action-icon">💬</span><span class="action-text">Make small talk with Hector<span class="action-sub">He's always got something to say</span></span>' "CornerStore_SmallTalk">><</link>>
<<link '<span class="action-icon">👀</span><span class="action-text">Just look around<span class="action-sub">Window shopping, apparently, applies to gas station snacks too</span></span>' "CornerStore">><</link>>
</div>
<<if $day is 2 and not $metAnanyaStore and window.rbRandom(1, 10) lte 4>>
<<SceneDivider "The Aisle Collision">>
<div class="prose-block">
<p>I round the corner of aisle 3 and nearly collide with another customer. She's about my age, maybe a year older, with dark curly hair, a State University hoodie, and a basket full of what looks like exclusively Hot Pockets and wine.</p>
<p>"Oh! Sorry!" She steadies her basket. One of the Hot Pockets makes a break for freedom and I catch it before it hits the floor.</p>
</div>
<<Dialogue "Ananya" "🎓" "Nice reflexes. I'm Ananya. Not the lingerie Ananya, I don't know any lingerie Ananya, that would be weird. Just... Ananya." "">>
<<Dialogue "You" "🙂" "Mia." "you">>
<<Dialogue "Ananya" "🎓" "Cool name. You go to State? I feel like I've seen you around." "">>
<div class="prose-block">
<p>She hasn't, obviously, she's never seen me because I didn't exist before Thursday. But her face is open and friendly, and she's the first person my age who's spoken to me since the transformation who isn't a medical professional or a delivery customer.</p>
</div>
<<Dialogue "You" "🙂" "Yeah. Second year." "you">>
<<Dialogue "Ananya" "🎓" "Me too! We should study together sometime. I'm pre-law and I'm dying. Like, actively dying. Torts are killing me." "">>
<div class="prose-block">
<p>She scribbles her number on the back of a Hot Pocket box, tears off the flap, and hands it to me. "Text me! Or don't. No pressure. But seriously, torts. I need help."</p>
<p>She waves and disappears around the pasta sauce aisle. I stand there holding a piece of cardboard with a phone number on it, written in purple ink, smelling faintly of pepperoni.</p>
<p>I think I just made a friend. Do women make friends this fast normally? Is this just how it works?</p>
</div>
<div class="choice-block">
<<link '<span>🍬 Keep shopping</span>' "CornerStore">>
<<set $metAnanyaStore to true>>
<<run window.rbAddMilestone("Made a friend at the corner store. Maybe.")>>
<</link>>
</div>
<<elseif $luckyMartVisits gte 2>>
<<set _rbEnc to window.rbRandom(1, 10)>>
<<if _rbEnc lte 4>>
<<SceneDivider "In the Aisles">>
<<switch _rbEnc>>
<<case 1 2>>
<div class="prose-block">
<p>A woman with a toddler on her hip is stretching for something on the top shelf, the kid wailing at a pitch that could strip paint off the walls.</p>
</div>
<div class="choice-block">
<<link '<span>🙋 Reach it for her</span>' "CornerStore">>
<<set $player.con to Math.clamp($player.con + 1, 0, 100)>>
<<run window.rbAddJournalEntry("Small Kindness", "Helped a mom reach a shelf at Lucky Mart. She thanked me like I'd done something bigger than that.")>>
<</link>>
<<link '<span>🚶 Keep to your own aisle</span>' "CornerStore">><</link>>
</div>
<<case 3>>
<div class="prose-block">
<p>A teenage stockboy is restocking shelves nearby. He glances over, sees you, drops a can. It rolls under the shelf. He doesn't chase it.</p>
<p><em>He's basically a child, and I feel old, and I'm twenty.</em></p>
</div>
<div class="choice-block">
<<link '<span>🙂 Smile and move on</span>' "CornerStore">><</link>>
</div>
<<case 4>>
<div class="prose-block">
<p>A guy in a hoodie is lingering by the beer cooler, glancing over every few seconds like he's working up the nerve to say something. He never does. You check out and leave. He's still standing there.</p>
</div>
<</switch>>
<</if>>
<</if>>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div><<HUD>>
<div class="prose-block">
<<if not $knowsBeanSoupRecipe>>
<<Dialogue "Hector" "🧔" "You eating enough? You always buy ramen. Let me tell you something, my wife makes a bean soup that costs less than ramen and tastes like God's kitchen. You want the recipe?" "">>
<<Dialogue "You" "🙂" "I... yeah. Actually, yes." "you">>
<p>He writes it on the back of a receipt, unprompted pride in his handwriting.</p>
<<else>>
<<Dialogue "Hector" "🧔" "They say rain tomorrow. You got an umbrella?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "Hector" "🧔" "Aisle 3, bottom shelf. Eight bucks. Worth it." "">>
<</if>>
</div>
<div class="choice-block">
<<link '<span>← Back to the counter</span>' "CornerStore">>
<<if not $knowsBeanSoupRecipe>>
<<set $knowsBeanSoupRecipe to true>>
<<run window.rbAddMilestone("Learned Hector's bean soup recipe.")>>
<</if>>
<<set $player.stress to Math.clamp($player.stress - 2, 0, 100)>>
<</link>>
</div><<HUD>>
<div class="map-here">📍 Central City</div>
<h1>Glass and <span class="accent">Steel</span></h1>
<div class="prose-block">
<p class="text2 small">Downtown core. Where the money is. Where NovaCure hides.</p>
</div>
<div class="location-grid">
<<if $day is 0>>
<<if $metDrAmelia>>
<div class="loc-card locked">
<span class="loc-icon">🏙️</span>
<span class="loc-name">Meridian Tower</span>
<span class="loc-lock-req">Already been tonight</span>
</div>
<<elseif $calledNovaCure>>
<<link '<div class="loc-card"><span class="loc-icon">🏙️</span><span class="loc-name">Meridian Tower</span><span class="loc-hint">NovaCure Labs, Suite 604</span></div>' "D00_NovaCure_Arrival">><</link>>
<<else>>
<div class="loc-card locked">
<span class="loc-icon">🏙️</span>
<span class="loc-name">Meridian Tower</span>
<span class="loc-lock-req">No reason to go downtown yet</span>
</div>
<</if>>
<<elseif $day is 1>>
<<if $novaCureDay1Done>>
<div class="loc-card locked">
<span class="loc-icon">🏙️</span>
<span class="loc-name">Meridian Tower</span>
<span class="loc-lock-req">Already been today</span>
</div>
<<elseif $mustReturnToNovaCure>>
<<link '<div class="loc-card"><span class="loc-icon">🏙️</span><span class="loc-name">Meridian Tower</span><span class="loc-hint">Dr. Amelia is expecting you</span></div>' "D01_NovaCure">><</link>>
<<else>>
<div class="loc-card locked">
<span class="loc-icon">🏙️</span>
<span class="loc-name">Meridian Tower</span>
<span class="loc-lock-req">No reason to go downtown yet</span>
</div>
<</if>>
<<else>>
<div class="loc-card locked">
<span class="loc-icon">🏙️</span>
<span class="loc-name">Meridian Tower</span>
<span class="loc-lock-req">No appointment today</span>
</div>
<</if>>
<div class="loc-card locked">
<span class="loc-icon">🌳</span>
<span class="loc-name">Meridian Gardens</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🍸</span>
<span class="loc-name">Nocturne Bar & Lounge</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🏢</span>
<span class="loc-name">The Crown Building</span>
<span class="loc-lock-req">You don't know anyone here</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🍽️</span>
<span class="loc-name">Restaurant Row</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🏦</span>
<span class="loc-name">Business District</span>
<span class="loc-lock-req">Not today</span>
</div>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>🗺️ Back to the city map</span>' "WorldMap">><</link>>
</div><<HUD>>
<div class="map-here">📍 Northgate University Quarter</div>
<h1>Someone Else's <span class="accent">Normal</span></h1>
<div class="prose-block">
<p class="text2 small">The college neighborhood around State University. Where your "normal" life was supposed to happen.</p>
</div>
<div class="location-grid">
<<link '<div class="loc-card"><span class="loc-icon">🏛️</span><span class="loc-name">State University</span><span class="loc-hint">Quad, library, bulletin board</span></div>' "Campus">><</link>>
<div class="loc-card locked">
<span class="loc-icon">🏋️</span>
<span class="loc-name">Campus Gym</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">☕</span>
<span class="loc-name">Grounded Coffee House</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🍕</span>
<span class="loc-name">Campus Strip</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">📚</span>
<span class="loc-name">Campus Bookstore</span>
<span class="loc-lock-req">Not today</span>
</div>
<div class="loc-card locked">
<span class="loc-icon">🧘</span>
<span class="loc-name">Sunrise Yoga Studio</span>
<span class="loc-lock-req">Not today</span>
</div>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>🗺️ Back to the city map</span>' "WorldMap">><</link>>
</div><<HUD>>
<<set $laundromatVisits += 1>>
<<if $laundromatVisits is 1>>
<div class="prose-block">
<p>Suds Laundromat. Rows of front-loaders on one side, dryers on the other, fluorescent lights with one that flickers on a private schedule. A folding table runs down the center. A TV mounted high on the wall plays an infomercial nobody's watching. One person sits in a plastic chair, reading, waiting out a cycle.</p>
<p>The specific loneliness of doing laundry at 10 PM, available at all hours.</p>
</div>
<<else>>
<div class="prose-block">
<p>Same machines, same flickering light, same infomercial energy. The laundromat doesn't change. That's sort of the point of it.</p>
</div>
<</if>>
<div class="action-list">
<<if $player.money gte 4>>
<<link '<span class="action-icon">🧺</span><span class="action-text">Do a load of laundry<span class="action-sub">Thirty minutes, clean clothes after</span></span><span class="action-cost">$3.50</span>' "Laundromat">>
<<run window.rbSpend(3.5, "laundry")>>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<<run window.rbAddMilestone("Did laundry like a functional adult.")>>
<</link>>
<<else>>
<div class="action-btn action-locked"><span class="action-icon">🧺</span><span class="action-text">Do a load of laundry<span class="action-sub">You're short on quarters and dignity</span></span></div>
<</if>>
<<link '<span class="action-icon">🪑</span><span class="action-text">Sit and watch the machines spin<span class="action-sub">Cheaper than therapy</span></span>' "Laundromat">>
<<set $player.stress to Math.clamp($player.stress - 2, 0, 100)>>
<</link>>
<<if $player.money gte 2>>
<<link '<span class="action-icon">🧴</span><span class="action-text">Buy detergent pods from the vending machine<span class="action-sub">Necessary evil</span></span><span class="action-cost">$2</span>' "Laundromat">>
<<run window.rbSpend(2, "detergent")>>
<</link>>
<</if>>
</div>
<<if $day is 2 and not $metEstelle and window.rbRandom(1, 10) lte 3>>
<<SceneDivider "The Towel Philosopher">>
<div class="prose-block">
<p>A woman in her sixties is folding towels at the next table. She's methodical about it, each towel folded into thirds, then thirds again, edges aligned with military precision. She sees you watching.</p>
</div>
<<Dialogue "Estelle" "🧺" "You fold or you stuff?" "">>
<<Dialogue "You" "😳" "What?" "you">>
<<Dialogue "Estelle" "🧺" "Your laundry. Some people fold. Some people stuff it in the basket like animals. You look like a stuffer." "">>
<<Dialogue "You" "🙂" "I'm... a reformed stuffer." "you">>
<<Dialogue "Estelle" "🧺" "Good. There's hope for you. You know the secret to towels?" "">>
<<Dialogue "You" "🙂" "No." "you">>
<<Dialogue "Estelle" "🧺" "Same direction every time. Don't think about it. Let your hands learn. After a while, they do it without you." "">>
<div class="prose-block">
<p>She's talking about towels. She's also, somehow, talking about everything else.</p>
</div>
<<Dialogue "Estelle" "🧺" "I'm Estelle." "">>
<<Dialogue "You" "🙂" "Mia." "you">>
<<Dialogue "Estelle" "🧺" "Nice to meet you, Mia. Your machine's done." "">>
<div class="prose-block">
<p>You pull out the sheets. They're warm. They smell like detergent instead of stale sweat and expired milk. You fold them. Same direction every time. You let your hands learn.</p>
<p>They're still grey. But they're clean. That counts for something.</p>
</div>
<div class="choice-block">
<<link '<span>🧺 Keep folding</span>' "Laundromat">>
<<set $metEstelle to true>>
<<set $player.stress to Math.clamp($player.stress - 4, 0, 100)>>
<</link>>
</div>
<</if>>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div><<CurrentObjective>>
<<HUD>>
<<if not $leftApartmentOnce>>
<div class="prose-block">
<p>I lock the door behind me. The hallway smells like someone else's breakfast. Something good, something real. My stomach tightens regardless of whether I've eaten.</p>
</div>
<<set $leftApartmentOnce to true>>
<</if>>
<<if $novaCureDay1Done and not $seenWalkHomeD1>>
<<ImagePlaceholder "Walking home past a bar, a whistle, a hand around her keys" "banner" "assets/characters/mc-female-phase1/walk-home-whistle.png">>
<div class="prose-block">
<p>The walk home from the bus stop takes seven minutes now. It used to take five. Shorter legs, shorter stride. My hips sway with each step, and I'm not doing it on purpose, it's just how this skeleton moves.</p>
<p>I pass a group of men outside a bar, four of them, beers in hand. I don't look at them. I look at the sidewalk instead. My hood is up. My hands stay in my pockets.</p>
<p>A whistle cuts through, sharp, two-toned, the universal sound of a man reducing a woman to her outline.</p>
<p>I walk faster. My heart hammers. My keys are in my pocket and I pull them out, holding one between my fingers, a weapon I didn't know I'd need until this exact second. This is what women do. This is what women have always done. I never once thought about it in twenty years of being the species that whistles.</p>
</div>
<<set $seenWalkHomeD1 to true>>
<</if>>
<<if $day is 2 and $d02BoughtClothes and not $seenCatcallD2>>
<<ImagePlaceholder "Walking past a construction site, hood up, bag in hand" "banner" "assets/characters/mc-female-phase1/catcall-street.png">>
<div class="prose-block">
<p>I'm walking with a plastic bag full of women's clothes, my first women's clothes, bought with my own money from a store three blocks from the apartment I've lived in for eight months. Until two days ago I would have walked right past the women's section without a second thought. Now I'm carrying it like it's contraband.</p>
<p>Hood still up, head down, the bag rustling against my leg with every step.</p>
<p>I pass a construction site behind a chain-link fence. Two workers on a break, one sitting on a cooler, one leaning against a truck.</p>
<p>"Hey gorgeous, smile for me!"</p>
<p>Loud, directed straight at me. The voice comes from the guy on the cooler, grinning like he just said something charming, like "hey gorgeous, smile for me" is some kind of gift he's bestowing on the street.</p>
<p>I freeze mid-step, my whole body locking up. I don't turn. I don't respond. I don't make eye contact. I just walk faster. My keys are already in my pocket, and I close my hand around them, a sharp metal fang between my fingers.</p>
<p>The second worker calls out, "Leave her alone, man," then, to me, "Sorry about him."</p>
<p>I don't stop. I keep walking, heart pounding, face hot, a cocktail of emotions I can't fully separate, violation, anger, and something I don't want to name. Something that recognizes he saw a woman without me performing it, without me trying, without me doing a single thing other than existing on a sidewalk with a bag of clothes.</p>
<p>The world is gendering me correctly and I have feelings about that, and I honestly don't know what any of them are.</p>
<p>Past the catcall now, heart still hammering, keys still in my fist, I pass a hair salon, a woman in the chair getting her hair blow-dried, scrolling her phone, bored and comfortable. I've never once been inside a hair salon. As Marcus I went to a barber. Not today, though. Today I walked to a thrift store, bought panties, survived a catcall, and that's more than enough for one Saturday.</p>
</div>
<<set $seenCatcallD2 to true>>
<<set $player.stress to Math.clamp($player.stress + 5, 0, 100)>>
<<set $player.fem to Math.clamp($player.fem + 1, 0, 100)>>
<</if>>
<<ObjectiveBanner>>
<div class="map-here">📍 Southbank Residential</div>
<h1>The <span class="accent">Neighborhood</span></h1>
<div class="location-grid">
<<if $dashdropDone and $day is 0>>
<div class="loc-card locked">
<span class="loc-icon">🛵</span>
<span class="loc-name">DashDrop Zone</span>
<span class="loc-lock-req">Shift's done for today</span>
</div>
<<elseif $dashdropDone>>
<div class="loc-card locked">
<span class="loc-icon">🛵</span>
<span class="loc-name">DashDrop Zone</span>
<span class="loc-lock-req">Called in sick. Not today.</span>
</div>
<<else>>
<<link '<div class="loc-card"><span class="loc-icon">🛵</span><span class="loc-name">DashDrop Zone</span><span class="loc-hint">Start your shift</span></div>' "D00_Delivery1">><</link>>
<</if>>
<<link '<div class="loc-card"><span class="loc-icon">🏪</span><span class="loc-name">Lucky Mart</span><span class="loc-hint">Corner store, snacks, essentials</span></div>' "CornerStore">><</link>>
<<link '<div class="loc-card"><span class="loc-icon">🧥</span><span class="loc-name">Second Chances</span><span class="loc-hint">Thrift store, secondhand everything</span></div>' "ThriftStore">><</link>>
<div class="loc-card locked">
<span class="loc-icon">🏠</span>
<span class="loc-name">Nolan's Apartment</span>
<span class="loc-lock-req">You told him "maybe." Text him first.</span>
</div>
<<link '<div class="loc-card"><span class="loc-icon">🧺</span><span class="loc-name">Suds Laundromat</span><span class="loc-hint">Wash, wait, watch the spin cycle</span></div>' "Laundromat">><</link>>
<div class="loc-card locked">
<span class="loc-icon">🏘️</span>
<span class="loc-name">Mrs. Park's Office</span>
<span class="loc-lock-req">Rent's not due yet</span>
</div>
<<link '<div class="loc-card"><span class="loc-icon">🛤️</span><span class="loc-name">Walking Trail</span><span class="loc-hint">Jog, walk, the pond, a bench</span></div>' "WalkingTrail">><</link>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>🗺️ Leave the neighborhood</span>' "WorldMap">><</link>>
<<link '<span>🏠 Head back home</span>' "Home">><</link>>
</div><<HUD>>
<<if $day is 2 and not $d02BoughtClothes>>
<<ImagePlaceholder "Second Chances thrift store, cluttered window display, hand-painted sign" "banner" "assets/locations/thriftstore/exterior.png">>
<div class="prose-block">
<p>Three blocks from my apartment. I've walked past this place a thousand times as Marcus and never once gone inside. "Second Chances," a hand-painted sign, a cluttered window display, a bell above the door that chimes when I push it open. The smell hits me first, fabric softener, old leather, and the faint ghosts of whatever lives these clothes used to belong to. Christmas music plays from a speaker somewhere. It's June.</p>
<p>The racks are packed, organized by something approximating a system, women's on the right, men's on the left, kids in the back, miscellaneous everything on shelves along the walls. I stand just inside the door trying not to look like I'm about to commit a crime.</p>
<p>A woman appears from behind a rack of winter coats. Fifty-something, Latina, reading glasses on a beaded chain, a floral blouse that looks like it was designed by someone who'd never seen a sad day in her life. Her smile arrives before the rest of her face even catches up to it.</p>
<p>"Welcome, honey. Looking for anything specific?"</p>
<p>My voice comes out smaller than I intend. "I... need some basics. Women's basics."</p>
<p>It cracks right on "basics." Not because the voice is wrong, the voice is fine, a smooth alto that passes without question, but because of the words themselves. Women's basics. Me, asking for women's basics, in a thrift store, on a Saturday, in a body I've owned for exactly thirty-six hours.</p>
<p>Marlene, I'll learn her name later from the receipt, printed in purple ink, looks at me. Really looks. Hood up, drowning in men's clothes, clearly uncomfortable, voice cracking. She reads the entire situation in about three seconds, then does the kindest possible thing available to her. She doesn't ask.</p>
<p>"Come with me."</p>
</div>
<<ImagePlaceholder "Marlene guiding her through the racks" "portrait" "assets/characters/supporting/marlene.png">>
<div class="prose-block">
<p>She guides me through the women's section with the efficiency of someone who's helped a thousand lost people find what they needed before me. She doesn't know my specific flavor of lost, but she clearly knows lost when she sees it.</p>
<p>"T-shirts." She pulls two plain ones off a rack, black and white, and holds them against me at arm's length, squinting. "These run small, so go a size up for comfort." She folds them over her arm.</p>
</div>
<<ImagePlaceholder "Browsing the racks, jeans and a t-shirt held up against her" "float" "assets/characters/mc-female-phase1/thriftstore-browsing.png">>
<div class="prose-block">
<p>"Jeans." She holds up a pair of women's skinny jeans, dark blue wash, a bit of stretch in the fabric. "These got some stretch. Try them on." I don't know my size, so she eyeballs it, a practiced scan from shoulders to hips. "You look like a 4 to me. Maybe 6 in the hips."</p>
<p>She leads me to a rack near the register. "Underwear." A sealed three-pack of cotton bikini-cut panties, black, white, grey. "These are new, store policy. Underwear's always new." She sets them on the counter, then reaches for a shelf behind her. "And you'll want these."</p>
<p>A basic black sports bra, no padding, no underwire, just support.</p>
<p>"What cup are you, sweetheart?"</p>
<p>"I... don't know."</p>
<p>She steps closer, quick and professional, like a tailor sizing a jacket. She doesn't touch me, just looks. "You're about a B. This should work."</p>
<p>She rings it all up on a register old enough that the mechanical keys clunk every time she presses one.</p>
<p>"$32 even."</p>
<p>I pay in cash, hands shaking slightly, which I hope she doesn't notice and which she definitely does.</p>
<p>"Thanks." It comes out almost inaudible, a whisper wearing a word's clothing.</p>
<p>Marlene puts a hand on my arm, brief and light, warm the way a candle is warm, not enough to burn, just enough to feel.</p>
<p>"First time shopping for yourself, honey?" She doesn't wait for an answer she already knows. "We all start somewhere." She slides the bag across the counter. "Come back anytime."</p>
<p>I take the bag and walk out, the bell chiming behind me. I make it four steps down the sidewalk before my eyes blur and I have to blink hard just to keep walking straight.</p>
<p>She didn't ask why. She didn't need to. She just helped.</p>
<p>There are still people like that in the world, people who just help. I'd honestly forgotten.</p>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>🚪 Take the bag and head back outside</span>' "Outside">>
<<set $player.money -= 32>>
<<set $metMarlene to true>>
<<set $d02BoughtClothes to true>>
<<set $player.fem to Math.clamp($player.fem + 7, 0, 100)>>
<<set $wardrobe.push({id:"tshirt_black",name:"Plain Black T-shirt",type:"top",fem:1,att:0,cor:0,owned:true})>>
<<set $wardrobe.push({id:"tshirt_white",name:"Plain White T-shirt",type:"top",fem:1,att:0,cor:0,owned:true})>>
<<set $wardrobe.push({id:"jeans_blue_skinny",name:"Dark Blue Skinny Jeans",type:"bottom",fem:2,att:1,cor:0,owned:true})>>
<<set $wardrobe.push({id:"panties_cotton_3pk",name:"Cotton Bikini Panties (3-pack)",type:"underwear",fem:1,att:0,cor:0,owned:true})>>
<<set $wardrobe.push({id:"sports_bra_black",name:"Basic Black Sports Bra",type:"bra",fem:2,att:0,cor:0,owned:true})>>
<<set $player.energy to Math.clamp($player.energy - 5, 0, 100)>>
<<run window.rbAddMilestone("Bought her first women's clothes.")>>
<</link>>
</div>
<<else>>
<<if not $metMarlene>>
<div class="prose-block">
<p>Racks of secondhand everything, color-coded, a faint smell of other people's closets. A woman behind the counter, sixties, reading glasses on a beaded chain, a cardigan that's survived more decades than you've been alive, looks up and nods instead of smiling, which somehow feels more genuine.</p>
</div>
<<Dialogue "Marlene" "🧵" "Let me know if you need a size. Everything's a dollar off on Thursdays." "">>
<<set $metMarlene to true>>
<<else>>
<div class="prose-block">
<p>Marlene gives you the same nod as last time. Same racks, mostly, a shop like this turns over slow.</p>
</div>
<</if>>
<div class="action-list">
<<link '<span class="action-icon">🧥</span><span class="action-text">Flip through the racks<span class="action-sub">Not much in your size, or your budget, right now</span></span>' "ThriftStore">><</link>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div>
<</if>><<HUD>>
<<set $trailVisits += 1>>
<<if $trailVisits is 1>>
<div class="prose-block">
<p>A tree-lined path winding between mature oaks, a small pond off to one side, benches spaced out along the loop. Joggers and dog walkers in the distance. The kind of ordinary, well-worn beauty you stop noticing after the third time you almost got evicted.</p>
</div>
<<else>>
<div class="prose-block">
<p>Same loop, same trees, same pond throwing back whatever light the sky's handing out today.</p>
</div>
<</if>>
<<if $trailVisits is 3>>
<<SceneDivider "The Old Man on the Bench">>
<div class="prose-block">
<p>There's an old man on the bench by the pond. He's here every time you come. Different book each time. He's never acknowledged you directly, but this time, without looking up:</p>
</div>
<<Dialogue "Old Man" "📖" "You walk like someone learning to live in a new country." "">>
<<Dialogue "You" "😳" "...What?" "you">>
<<Dialogue "Old Man" "📖" "I lived in four countries before I was thirty. Every time, the first thing you learn is how to walk. Where to put your feet. How to hold your shoulders. You're learning. I can tell." "">>
<<Dialogue "You" "🙂" "What book are you reading?" "you">>
<<Dialogue "Old Man" "📖" "Ovid. Metamorphoses. Stories about people who transform into something new." "">>
<div class="prose-block">
<p>He glances at you over his reading glasses. The faintest smile.</p>
</div>
<<Dialogue "Old Man" "📖" "You might like it." "">>
<div class="prose-block">
<p>He never gives his name. You never tell him yours, or your story. He never asks. But every time you pass now, he nods, and that nod means: <em>I see you. You're doing fine.</em></p>
</div>
<<set $metOldMan to true>>
<<run window.rbAddMilestone("The Old Man on the Bench noticed you.")>>
<<elseif $metOldMan>>
<div class="prose-block">
<p>The old man is on his bench, a different book today. He glances up as you pass. Nods. Goes back to reading.</p>
</div>
<</if>>
<<if $day is 2 and window.rbRandom(1, 10) lte 3>>
<div class="prose-block">
<p>A woman pushing a stroller passes me on the path. The baby inside is asleep, mouth open, fists clenched, wearing a onesie with a dinosaur on it. The woman looks exhausted in the specific way new parents look exhausted, beyond tired into some new dimension of consciousness that runs entirely on caffeine and love.</p>
<p>She sees me looking at the baby and smiles. "Eight weeks. I haven't slept since March."</p>
<p>"She's beautiful."</p>
<p>"He, actually. The dinosaur is misleading." She laughs. "I'm running out of clean onesies. Everything is a crisis at this point."</p>
<p>She walks on and the baby doesn't stir at all.</p>
<p>I stand on the path and put my hand on my lower belly. Not for any specific reason, not because I'm pregnant or even thinking about pregnancy. Just because my body has a uterus now, ovaries, fallopian tubes, the theoretical capacity to grow a person inside it, and that fact hits me at random moments like this, watching a stranger push a stroller down a path I've walked a hundred times as a man who never once thought about wombs.</p>
<p>I take my hand away and keep walking. But the feeling stays, the awareness of possibility, of a body that can do things I never once imagined it doing.</p>
</div>
<<set $player.fem to Math.clamp($player.fem + 1, 0, 100)>>
<</if>>
<div class="action-list">
<<link '<span class="action-icon">🏃</span><span class="action-text">Jog the loop<span class="action-sub">Lungs burning, legs unfamiliar, keep going</span></span>' "WalkingTrail">>
<<set $player.fit to Math.clamp($player.fit + 2, 0, 100)>>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 10, 0, 100)>>
<</link>>
<<link '<span class="action-icon">🚶</span><span class="action-text">Walk the loop<span class="action-sub">No agenda, just moving</span></span>' "WalkingTrail">>
<<set $player.stress to Math.clamp($player.stress - 3, 0, 100)>>
<<set $player.energy to Math.clamp($player.energy - 4, 0, 100)>>
<</link>>
<<link '<span class="action-icon">🪑</span><span class="action-text">Sit on a bench and think<span class="action-sub">Watch the pond do nothing in particular</span></span>' "WalkingTrail">>
<<set $player.stress to Math.clamp($player.stress - 5, 0, 100)>>
<</link>>
<<link '<span class="action-icon">🤸</span><span class="action-text">Stretch<span class="action-sub">Everything about this body moves differently now</span></span>' "WalkingTrail">>
<<set $player.fit to Math.clamp($player.fit + 1, 0, 100)>>
<</link>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>← Back outside</span>' "Outside">><</link>>
</div><<HUD>>
<div class="map-here">🗺️ The City</div>
<h1>Where To <span class="accent">Next</span></h1>
<div class="prose-block">
<p class="text2 small">Seven districts. Most of them don't know you exist yet.</p>
</div>
<div class="world-map-wrap">
<svg class="world-map-svg" viewBox="0 0 800 640" xmlns="http://www.w3.org/2000/svg">
<line class="wm-road" x1="400" y1="358" x2="400" y2="90" stroke="#e04fef55" stroke-width="2"></line>
<line class="wm-road" x1="400" y1="358" x2="160" y2="262" stroke="#e04fef55" stroke-width="2"></line>
<line class="wm-road" x1="400" y1="358" x2="640" y2="262" stroke="#e04fef55" stroke-width="2"></line>
<line class="wm-road" x1="400" y1="358" x2="160" y2="461" stroke="#e04fef55" stroke-width="2"></line>
<line class="wm-road" x1="400" y1="358" x2="640" y2="461" stroke="#e04fef55" stroke-width="2"></line>
<line class="wm-road" x1="400" y1="358" x2="400" y2="563" stroke="#e04fef55" stroke-width="2"></line>
<rect class="wm-zone" x="295" y="20" width="210" height="140" rx="26" fill="#818cf822" stroke="#818cf866" stroke-width="2"></rect>
<text class="wm-zone-label" x="400" y="45">Northgate</text>
<rect class="wm-zone is-locked" x="55" y="192" width="210" height="140" rx="26" fill="#f9731622" stroke="#f9731666" stroke-width="2"></rect>
<text class="wm-zone-label" x="160" y="217">Westside Arts</text>
<rect class="wm-zone" x="535" y="192" width="210" height="140" rx="26" fill="#e04fef22" stroke="#e04fef66" stroke-width="2"></rect>
<text class="wm-zone-label" x="640" y="217">Central City</text>
<circle class="wm-zone is-locked" cx="400" cy="358" r="46" fill="#22d3ee22" stroke="#22d3ee66" stroke-width="2"></circle>
<rect class="wm-zone" x="55" y="391" width="210" height="140" rx="26" fill="#fbbf2422" stroke="#fbbf2466" stroke-width="2"></rect>
<text class="wm-zone-label" x="160" y="416">Southbank</text>
<rect class="wm-zone is-locked" x="535" y="391" width="210" height="140" rx="26" fill="#e11d4822" stroke="#e11d4866" stroke-width="2"></rect>
<text class="wm-zone-label" x="640" y="416">Velvet Row</text>
<rect class="wm-zone is-locked" x="295" y="493" width="210" height="140" rx="26" fill="#ff5fa822" stroke="#ff5fa866" stroke-width="2"></rect>
<text class="wm-zone-label" x="400" y="518">Lakewood Mall</text>
</svg>
<<link '<div class="district-card" style="left:50%; top:14%;"><span class="district-icon">🎓</span><span class="district-name">Northgate<br>University Quarter</span><span class="district-desc">Campus, classes, the life MC left behind</span></div>' "District_Northgate">><</link>>
<div class="district-card locked" style="left:20%; top:41%;">
<span class="district-icon">🎨</span>
<span class="district-name">Westside Arts District</span>
<span class="district-lock-req">Unlocks later</span>
</div>
<<link '<div class="district-card" style="left:80%; top:41%;"><span class="district-icon">🏙️</span><span class="district-name">Central City</span><span class="district-desc">Glass towers. Money. NovaCure.</span></div>' "District_Central">><</link>>
<div class="district-card locked" style="left:50%; top:56%;">
<span class="district-icon">🏥</span>
<span class="district-name">Medical Corridor</span>
<span class="district-lock-req">Unlocks later</span>
</div>
<<link '<div class="district-card" style="left:20%; top:72%;"><span class="district-icon">🏠</span><span class="district-name">Southbank Residential</span><span class="district-desc">Home.</span></div>' "Outside">><</link>>
<div class="district-card locked" style="left:80%; top:72%;">
<span class="district-icon">🔴</span>
<span class="district-name">Velvet Row</span>
<span class="district-lock-req">Unlocks later</span>
</div>
<div class="district-card locked" style="left:50%; top:88%;">
<span class="district-icon">🛍️</span>
<span class="district-name">Lakewood Mall</span>
<span class="district-lock-req">Unlocks later</span>
</div>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<link '<span>🏠 Just go home</span>' "Home">><</link>>
</div><div class="age-gate">
<div class="age-gate-icon">🔞</div>
<h1>Age Verification</h1>
<p class="age-gate-sub">REWIRED contains explicit sexual content, mature themes, and graphic descriptions. You must be 18 or older to continue.</p>
<div class="age-gate-warning">
<p>This game includes: nudity, sexual acts, BDSM, transformation, strong language, drug/alcohol references, and themes of identity and consent.</p>
</div>
<div style="margin-top:1.5rem; display:flex; flex-direction:column; gap:.6rem; width:100%; max-width:320px;">
<<link '<span class="btn-primary btn-block">I am 18 or older, Enter</span>' "D00_Morning">>
<<set $player.name to "Mia">>
<<set $player.maleName to "Marcus">>
<</link>>
<<link '<span class="btn-secondary btn-block">I am under 18, Leave</span>' "Start">><</link>>
</div>
</div><div class="rb-side">
<div class="rb-side-section rb-side-daytime">
<div>
<div class="rb-side-day">Day <span class="accent">$day</span></div>
<div class="rb-side-weekday">$weekDay</div>
</div>
<div class="rb-side-time"><<= $timeIcons[$timeslot]>> $timeslot</div>
</div>
<div class="rb-side-section">
<div class="rb-money-row">
<span class="rb-money-label">Money</span>
<span class="rb-money-val"><<= window.rbMoney($player.money)>></span>
</div>
</div>
<div class="rb-side-section">
<div class="rb-stat-row"><span class="rb-stat-label">Femininity</span><span class="rb-stat-val" style="color:var(--rose)">$player.fem</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Corruption</span><span class="rb-stat-val" style="color:var(--red)">$player.cor</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Confidence</span><span class="rb-stat-val" style="color:var(--gold)">$player.con</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Attractive</span><span class="rb-stat-val" style="color:var(--accent)">$player.att</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Fitness</span><span class="rb-stat-val" style="color:var(--green)">$player.fit</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Intellect</span><span class="rb-stat-val" style="color:var(--blue)">$player.int</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Energy</span><span class="rb-stat-val" style="color:var(--green)">$player.energy</span></div>
<div class="rb-stat-row"><span class="rb-stat-label">Stress</span><span class="rb-stat-val" style="color:var(--red)">$player.stress</span></div>
</div>
<div class="rb-side-section rb-side-links">
<<link '<span class="rb-side-link">📱 Phone</span>'>><<run window.rbPhoneOpen()>><</link>>
<<if Story.has("Wardrobe")>><<link '<span class="rb-side-link">👗 Wardrobe</span>' "Wardrobe">><</link>><<else>><span class="rb-side-link disabled">👗 Wardrobe</span><</if>>
<<if Story.has("StatsPage")>><<link '<span class="rb-side-link">📊 Full Stats</span>' "StatsPage">><</link>><<else>><span class="rb-side-link disabled">📊 Full Stats</span><</if>>
</div>
</div><div class="sleep-screen">
<div class="big-icon">🌙</div>
<div class="day-badge">Day <strong>$day</strong>, Complete</div>
<<if $day is 0>>
<h1>The Last Night</h1>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">Something is changing. Something that cannot be undone.</p>
<<elseif $day is 1>>
<h1>The First Night as Her</h1>
<<if $firstOrgasmSolo>>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">The body is real. The tears were real. The orgasm was real. Everything is real. Nothing makes sense.</p>
<<else>>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">The body is real. The tears were real. The avoidance was temporary. Everything is real. Nothing makes sense.</p>
<</if>>
<<elseif $day is 2>>
<h1>Bare Minimum</h1>
<<if $firstOrgasmSolo and $d02ExploreDeep>>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">Sports bra, panties, jeans. A name on a form. A body she's beginning to know. Small steps. Necessary ones.</p>
<<elseif $firstOrgasmSolo>>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">Clothes that fit. A name sent. A body she's learning to live in. Small steps. Necessary ones.</p>
<<else>>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">Clothes that fit. A name sent. A body she's not ready to know. Small steps. Even the smallest ones count.</p>
<</if>>
<div style="margin-top:2.4rem; padding-top:2rem; border-top:1px solid var(--border);">
<div class="day-badge" style="margin-bottom:1rem;">🦋 End of Version <strong>0.2</strong></div>
<p style="color:var(--text2); max-width:38ch; margin:0 auto 1.6rem;">That's everything built so far. Day 3 and beyond, Mia's life as it actually unfolds, is still being written.</p>
<a href="https://www.patreon.com/c/toxicvipergames" target="_blank" rel="noopener" class="btn-primary">💜 Support REWIRED on Patreon</a>
<p style="color:var(--text3); font-size:.78rem; max-width:34ch; margin:1.8rem auto .8rem;">No more story past this point yet, but the apartment, the neighborhood, and the people in it still work, if you'd rather just wander.</p>
<<link '<span class="btn-outline btn-sm">🔓 Keep playing anyway</span>'>>
<<set $day += 1>>
<<set $timeslot to "Morning">>
<<set $acted to false>>
<<set $player.energy to 80>>
<<set $player.stress to Math.clamp($player.stress - 5, 0, 100)>>
<<goto "Home">>
<</link>>
</div>
<<else>>
<h1>Another Day Done</h1>
<p style="color:var(--text2); max-width:36ch; margin:0 auto;">You made it through. That still counts for something.</p>
<</if>>
<<if $day isnot 2>>
<<set _wakeLabel to '<span class="btn-primary">Wake Up → Day ' + ($day + 1) + '</span>'>>
<div style="margin-top:2rem;">
<<link _wakeLabel>>
<<set _fromDay to $day>>
<<set $day += 1>>
<<set $timeslot to "Morning">>
<<set $acted to false>>
<<if _fromDay is 0>>
<<set $player.energy to 100>>
<<set $body.phase to 1>>
<<set $body.bust to 34>>
<<set $body.waist to 24.5>>
<<set $body.hips to 35.5>>
<<set $body.braCup to "B">>
<<set $body.braSize to "32B">>
<<set $body.weight to 128>>
<<set $body.height to 66>>
<<set $body.hairLength to "shoulder">>
<<set $body.sensitivity to 1.5>>
<<set $body.menstrualDay to -1>>
<<set $player.att to 30>>
<<set $player.portraitImg to "assets/characters/mc-female-phase1/side_bar.png">>
<<run window.rbAddMilestone("Woke up transformed.")>>
<<run window.rbAddJournalEntry("Reborn", "I fell asleep as Marcus Cole. I don't know who I'll wake up as.")>>
<<goto "D01_Wakeup">>
<<elseif _fromDay is 1>>
<<set $weekDay to "Saturday">>
<<set $player.energy to 90>>
<<set $player.stress to Math.clamp($player.stress - 5, 0, 100)>>
<<goto "D02_Morning">>
<<else>>
<<set $player.energy to 100>>
<<goto "Home">>
<</if>>
<</link>>
</div>
<</if>>
</div><div class="screen-center sleep-screen">
<div class="big-icon">🦋</div>
<h1>RE<span class="accent">WIRED</span></h1>
<p class="eyebrow">A TRANSFORMATION STORY</p>
<p class="text2" style="max-width:40ch;">An adult interactive fiction game about identity, desire, and becoming.</p>
<div style="margin-top:1.5rem">
<<link '<span class="btn-primary">Enter</span>' "AgeGate">><</link>>
</div>
<p style="font-size:.7rem; color:var(--text3); margin-top:2rem;">v1.0, SugarCube 2.37, Content updates monthly</p>
</div>/* ==========================================================================
HUD sticky top-of-passage stat bar. Call with <<HUD>> at the top of
any gameplay passage.
========================================================================== */
<<widget "HUD">>
<div class="hud">
<div class="hud-item"><span class="hud-label">Day</span><span class="hud-val" style="color:var(--accent)">$day</span></div>
<div class="hud-sep"></div>
<div class="hud-item"><span class="hud-label">Time</span><span class="hud-val"><<= $timeIcons[$timeslot]>> $timeslot</span></div>
<div class="hud-sep"></div>
<div class="hud-item"><span class="hud-label">Money</span><span class="hud-val" style="color:var(--gold)"><<= window.rbMoney($player.money)>></span></div>
<div class="hud-sep"></div>
<div class="hud-item"><span class="hud-label">FEM</span><span class="hud-val" style="color:var(--rose)">$player.fem</span></div>
<div class="hud-sep"></div>
<div class="hud-item"><span class="hud-label">COR</span><span class="hud-val" style="color:var(--red)">$player.cor</span></div>
<div class="hud-sep"></div>
<div class="hud-item"><span class="hud-label">Energy</span><span class="hud-val" style="color:var(--green)">$player.energy</span></div>
</div>
<</widget>>
/* ==========================================================================
StatBar labeled progress bar.
Usage: <<StatBar "FIT" $player.fit "var(--green)">>
Note: dynamic attribute values in SugarCube must use the "@attr"
directive syntax plain "_args[1]" text inside class="" / style=""
is NOT substituted, it's only substituted in element *content*.
========================================================================== */
<<widget "StatBar">>
<<set _rbPct to Math.clamp(Math.round(_args[1]), 0, 100)>>
<div class="stat-bar-wrap">
<div class="stat-bar-row">
<span class="stat-bar-label">_args[0]</span>
<div class="stat-bar-track">
<div class="stat-bar-fill" @style="'width:' + _rbPct + '%; background:' + _args[2] + ';'"></div>
</div>
<span class="stat-bar-num">_args[1]</span>
</div>
</div>
<</widget>>
/* ==========================================================================
Dialogue one line of a conversation.
Usage: <<Dialogue "Nolan" "💪" "Gym tomorrow?" "">>
<<Dialogue "You" "🙂" "Maybe." "you">>
========================================================================== */
<<widget "Dialogue">>
<div @class="'dl-line ' + (_args[3] != null ? _args[3] : '')">
<div class="dl-avatar">_args[1]</div>
<div>
<div @class="'dl-name dl-name--' + window.rbSlug(_args[0])">_args[0]</div>
<div class="dl-bubble">_args[2]</div>
</div>
</div>
<</widget>>
/* ==========================================================================
SceneDivider centered horizontal-rule label between narrative beats.
Usage: <<SceneDivider "Thursday Morning 6:45 AM">>
========================================================================== */
<<widget "SceneDivider">>
<div class="scene-divider">_args[0]</div>
<</widget>>
/* ==========================================================================
ImagePlaceholder dashed-border stand-in for a not-yet-generated image.
Usage: <<ImagePlaceholder "Male Marcus bathroom mirror" "portrait">>
variant (_args[1]) is optional: "portrait" | "banner" | "float" | ""
Optional 3rd arg (_args[2]) is an asset path. When given, this widget
tries to load and show that real image, laid over the same frame
if the file doesn't exist yet (still common while art is being
generated), the <img> silently removes itself on error and the
dashed placeholder underneath is exactly what renders, so passages
can carry a real path from day one without waiting on the art.
========================================================================== */
<<widget "ImagePlaceholder">>
<div @class="'img-placeholder ' + (_args[1] != null ? _args[1] : '')">
<<if _args[2]>>
<img class="scene-img" @src="_args[2]" @alt="_args[0]" onload="this.closest('.img-placeholder').classList.add('img-ok')" onerror="this.remove()">
<</if>>
<span class="ph-icon">🖼️</span>
<span class="ph-label">_args[0]</span>
<span class="ph-hint">Image will be added</span>
</div>
<</widget>>
/* ==========================================================================
ObjectiveBanner shows the current journal objective at the top of a
hub/map passage. This is the *only* place the player is told what to
do next story beats are reached by physically navigating to the
right location, never by a direct "continue to next scene" link.
Usage: <<ObjectiveBanner>>
========================================================================== */
<<widget "ObjectiveBanner">>
<div class="objective-banner">
<span class="ob-icon">🎯</span>
<div>
<span class="ob-label">Objective</span>
<span class="ob-text">$objective</span>
</div>
</div>
<</widget>>
/* ==========================================================================
Day0Objective recomputes $objective from the current Day 0 progress
flags. Call once at the top of any passage that changes those flags
(hubs, and the passages that set flags on their way out) so the
banner and Journal always show the truth.
========================================================================== */
<<widget "Day0Objective">>
<<if not $gotDressed>>
<<set $objective to "You just woke up. Get washed up, eat something, and get dressed before you head out.">>
<<elseif not $dashdropDone>>
<<set $objective to "Your DashDrop shift starts soon. Head outside and find the delivery zone.">>
<<elseif not $flyerFound>>
<<set $objective to "Shift's over. Head outside, campus is on the way home.">>
<<elseif not $calledNovaCure>>
<<set $objective to "You've got something in your pocket worth reading twice. Go home and think it over.">>
<<elseif not $metDrAmelia>>
<<set $objective to "NovaCure is expecting you tonight. Head outside, Meridian Tower is downtown.">>
<<else>>
<<set $objective to "It's late, and today already changed everything. Go home and get some sleep.">>
<</if>>
<</widget>>
/* ==========================================================================
Day1Objective recomputes $objective from Day 1's progress flags.
========================================================================== */
<<widget "Day1Objective">>
<<if $mustReturnToNovaCure and not $dressedDay1>>
<<set $objective to "You need to get dressed before you go anywhere.">>
<<elseif $mustReturnToNovaCure and not $novaCureDay1Done>>
<<set $objective to "You need answers. Head outside, Meridian Tower is downtown.">>
<<elseif not $ateDinnerDay1>>
<<set $objective to "You're home. You should wash and eat something.">>
<<else>>
<<set $objective to "You can't hold your eyes open anymore. It's time to sleep.">>
<</if>>
<</widget>>
/* ==========================================================================
Day2Objective recomputes $objective from Day 2's progress flags.
========================================================================== */
<<widget "Day2Objective">>
<<if not $d02BoughtClothes>>
<<set $objective to "You need women's basics, the thrift store is a few blocks from home.">>
<<elseif not $d02TriedOnClothes>>
<<set $objective to "Go home and try on what you bought.">>
<<elseif not $d02Ate>>
<<set $objective to "Get some food. Order in, or cook something at home.">>
<<elseif $timeslot isnot "Night">>
<<set $objective to "It's getting late. Head home for the night.">>
<<else>>
<<set $objective to "You can't keep your eyes open. Time to sleep.">>
<</if>>
<</widget>>
/* ==========================================================================
CurrentObjective dispatches to the correct day's objective widget.
Hubs should always call THIS, never a specific day's widget directly,
so adding a new day never means touching Home/Outside again.
========================================================================== */
<<widget "CurrentObjective">>
<<switch $day>>
<<case 0>><<Day0Objective>>
<<case 1>><<Day1Objective>>
<<case 2>><<Day2Objective>>
<<default>><<set $objective to "Another day. Figure out what's next.">>
<</switch>>
<</widget>><<HUD>>
<div class="eyebrow">RECORD</div>
<h1>Your <span class="accent">Journal</span></h1>
<div class="content-col">
<h3>Quests</h3>
<div class="journal-widget">
<<if $journal.quests.main.length is 0 and $journal.quests.side.length is 0>>
<div class="journal-quest-row text3">No active quests yet.</div>
<<else>>
<<for _q range $journal.quests.main>>
<div class="journal-quest-row"><strong>$player.name</strong>: _q.title</div>
<</for>>
<<for _q2 range $journal.quests.side>>
<div class="journal-quest-row">_q2.title</div>
<</for>>
<</if>>
</div>
<h3 style="margin-top:1.6rem;">Milestones</h3>
<<if $journal.milestones.length is 0>>
<p class="text3 small">Nothing notable has happened yet.</p>
<<else>>
<<for _m range $journal.milestones>>
<div class="journal-milestone">Day _m.day, _m.name</div>
<</for>>
<</if>>
<h3 style="margin-top:1.6rem;">Entries</h3>
<<if $journal.entries.length is 0>>
<p class="text3 small">Your story hasn't been written down yet, but it's happening.</p>
<<else>>
<<for _e range $journal.entries>>
<div class="journal-entry">
<div class="journal-entry-day">Day _e.day</div>
<div class="journal-entry-title">_e.title</div>
<div class="journal-entry-text">_e.text</div>
</div>
<</for>>
<</if>>
<div class="choice-block" style="margin-top:2rem;">
<<back '<span>← Back</span>'>>
</div>
</div><<HUD>>
<div class="eyebrow">CHARACTER SHEET</div>
<h1><span class="accent">$player.name</span></h1>
<p class="text2 small">Formerly $player.maleName.</p>
<div class="content-col">
<h3>Primary Stats</h3>
<<StatBar "FEM" $player.fem "var(--rose)">>
<<StatBar "COR" $player.cor "var(--red)">>
<<StatBar "CON" $player.con "var(--gold)">>
<<StatBar "ATT" $player.att "var(--accent)">>
<<StatBar "FIT" $player.fit "var(--green)">>
<<StatBar "INT" $player.int "var(--blue)">>
<h3 style="margin-top:1.6rem;">Condition</h3>
<<StatBar "Energy" $player.energy "var(--green)">>
<<StatBar "Stress" $player.stress "var(--red)">>
<h3 style="margin-top:1.6rem;">Body</h3>
<div class="stat-bar-wrap text2 small">
<<if $body.phase is 0>>
Still yourself, for now. Height $body.height in. · Weight $body.weight lbs.
<<else>>
Bust $body.bust in · Waist $body.waist in · Hips $body.hips in · Bra $body.braSize
<</if>>
</div>
<h3 style="margin-top:1.6rem;">Finances</h3>
<div class="stat-bar-wrap text2 small">
Cash: <<= window.rbMoney($player.money)>> · Rent: <<= window.rbMoney($rent)>>/mo · Loan balance: <<= window.rbMoney($loans.total)>>
</div>
<div class="choice-block" style="margin-top:2rem;">
<<back '<span>← Back</span>'>>
</div>
</div><<HUD>>
<div class="eyebrow">CLOSET</div>
<h1>Your <span class="accent">Wardrobe</span></h1>
<div class="content-col">
<div class="wardrobe-slots">
<<for _slot range Object.keys($equipped)>>
<div class="wardrobe-slot">
<div class="wardrobe-slot-label">_slot</div>
<<if $equipped[_slot]>>
<div class="wardrobe-slot-item"><<= $equipped[_slot].name>></div>
<<else>>
<div class="wardrobe-slot-item"> empty </div>
<</if>>
</div>
<</for>>
</div>
<<if $wardrobe.length is 0>>
<p class="text3 small" style="margin-top:1.4rem;">You don't own any clothes yet beyond what you're wearing. The mall and thrift store will change that soon enough.</p>
<</if>>
<div class="choice-block" style="margin-top:2rem;">
<<back '<span>← Back</span>'>>
</div>
</div><<set $archetype to "">>
<<set $statGrowthMultiplier to 1.0>>
<<set $thresholdsFired to {}>>
<<set $objective to "Wake up.">>
/* ---------- Player stats ---------- */
<<set $player to {
name: "",
maleName: "Marcus",
money: 47,
fem: 0,
cor: 0,
con: 5,
att: 20,
fit: 30,
int: 40,
energy: 100,
stress: 30,
arousal: 0,
sub: 0,
dom: 0,
exhib: 0,
maternal: 0,
addiction: 0,
portraitImg: "assets/characters/mc-male/side_bar.png"
}>>
/* ---------- Body state (male at Day 0; Sleep passage flips this to
Phase 1 female measurements when advancing to Day 1) ---------- */
<<set $body to {
phase: 0,
bust: 36,
waist: 29,
hips: 33,
braCup: "N/A",
braSize: "N/A",
weight: 148,
height: 69,
hairLength: "short",
sensitivity: 1,
lactating: false,
menstrualDay: -1,
pregnant: false,
pregnancyWeek: 0,
pubicStyle: "natural",
piercings: {},
tattoos: [],
phase2Active: false,
phase2Day: 0
}>>
/* ---------- Time ---------- */
<<set $day to 0>>
<<set $timeslot to "Morning">>
<<set $timeslots to ["Morning", "Afternoon", "Evening", "Night"]>>
<<set $timeIcons to { Morning: "🌅", Afternoon: "☀️", Evening: "🌆", Night: "🌙" }>>
<<set $weekDay to "Thursday">>
<<set $weekDays to ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]>>
<<set $acted to false>>
/* ---------- Main partner objects ---------- */
<<set $nolan to { met: true, affinity: 10, romance: false, kissed: false, kissedDay: 0, sexCount: 0, firstSexDay: 0, girlfriend: false, seenFemale: false, seenFemaleDay: 0, flags: {} }>>
<<set $jordan to { met: false, affinity: 0, romance: false, kissed: false, kissedDay: 0, sexCount: 0, firstSexDay: 0, girlfriend: false, seenFemale: false, seenFemaleDay: 0, flags: {} }>>
<<set $sophie to { met: false, affinity: 0, romance: false, kissed: false, kissedDay: 0, sexCount: 0, firstSexDay: 0, girlfriend: false, seenFemale: false, seenFemaleDay: 0, flags: {} }>>
<<set $river to { met: false, affinity: 0, romance: false, kissed: false, kissedDay: 0, sexCount: 0, firstSexDay: 0, girlfriend: false, seenFemale: false, seenFemaleDay: 0, flags: {} }>>
<<set $vanessa to { met: false, affinity: 0, romance: false, kissed: false, kissedDay: 0, sexCount: 0, firstSexDay: 0, girlfriend: false, seenFemale: false, seenFemaleDay: 0, flags: {} }>>
/* ---------- Wardrobe ---------- */
<<set $equipped to { top: null, bottom: null, bra: null, underwear: null, shoes: null, accessory: null, outerwear: null }>>
<<set $wardrobe to []>>
<<set $outfitBonus to { att: 0, fem: 0, cor: 0 }>>
<<set $makeupApplied to false>>
<<set $makeupLevel to 0>>
<<set $perfumeApplied to false>>
/* ---------- Phone / social ---------- */
<<set $phone to {
contacts: [
{ id: "nolan", name: "Nolan Reeves" }
],
smsThreads: {
nolan: []
},
datingMatches: [],
datingActive: false,
socialMedia: { followers: 0, posts: [] },
notifications: []
}>>
/* ---------- NPC met-flags (Day 0 cast + future roster) ---------- */
<<set $metMarlene to false>>
<<set $metLuna to false>>
<<set $metOwen to true>>
<<set $metDrAmelia to false>>
<<set $metNursePatel to false>>
<<set $metTyler to false>>
<<set $tylerNumber to false>>
<<set $metJade to false>>
<<set $metCalloway to true>>
<<set $metHector to false>>
<<set $metOldMan to false>>
/* ---------- Southbank district repeatable-location counters &
small unlock flags (Lucky Mart, Suds Laundromat, Walking Trail). ---------- */
<<set $luckyMartVisits to 0>>
<<set $knowsBeanSoupRecipe to false>>
<<set $laundromatVisits to 0>>
<<set $trailVisits to 0>>
<<set $sawMrsParkRentReminder to false>>
/* ---------- Day 0 open-world progress flags (drive the objective
banner + which map locations are unlocked) ---------- */
<<set $dashdropDone to false>>
<<set $flyerFound to false>>
<<set $calledNovaCure to false>>
<<set $washedUp to false>>
<<set $ateBreakfast to false>>
<<set $gotDressed to false>>
<<set $leftApartmentOnce to false>>
<<set $visitedCornerStore to false>>
/* ---------- Day 1 open-world progress flags (drive the objective
banner + which map locations are unlocked) ---------- */
<<set $seenMirrorDay1 to false>>
<<set $mustReturnToNovaCure to false>>
<<set $dressedDay1 to false>>
<<set $novaCureDay1Done to false>>
<<set $novaCureVisitCount to 1>>
<<set $seenWalkHomeD1 to false>>
<<set $showeredDay1 to false>>
<<set $firstOrgasmSolo to false>>
<<set $firstShower to false>>
<<set $ateDinnerDay1 to false>>
/* ---------- Day 2 open-world progress flags ---------- */
<<set $d02BoughtClothes to false>>
<<set $d02TriedOnClothes to false>>
<<set $d02ExploreDeep to false>>
<<set $d02NolanTexted to false>>
<<set $d02UniEmail to false>>
<<set $d02Ate to false>>
<<set $metCody to false>>
<<set $metAnanyaStore to false>>
<<set $metEstelle to false>>
<<set $closetSplit to false>>
<<set $cookingSkill to 0>>
/* ---------- First-time event flags ---------- */
<<set $firstCatcall to false>>
<<set $firstPeriod to false>>
<<set $firstKissMale to false>>
<<set $firstKissFemale to false>>
<<set $firstSexMale to false>>
<<set $firstSexFemale to false>>
<<set $firstOrgasmPartner to false>>
<<set $gloryHoleDiscovered to false>>
/* ---------- Generic item-ownership / misc-flag bags (future content
pushes owned item ids / one-off flags in here without needing new
StoryInit variables for every drop). ---------- */
<<set $itemsOwned to {}>>
<<set $flags to {}>>
/* ---------- Sexual experience tracker ---------- */
<<set $sexLog to {
totalEncounters: 0,
partnerCount: 0,
partners: {},
firsts: {},
kinks: {},
orientation: { heteroExp: 0, sapphicExp: 0, otherExp: 0 },
positions: [],
toys: []
}>>
/* ---------- Economy ---------- */
<<set $loans to { total: 23400, monthlyMin: 487, daysOverdue: 120, paidOff: false }>>
<<set $income to { dashdrop: 0, nocturne: 0, novacure: 800, phase2: 0, modeling: 0, camwork: 0, other: 0 }>>
<<set $rent to 650>>
<<set $rentPaid to false>>
<<set $rentMonthsAhead to 0>>
/* ---------- Quest / journal ---------- */
<<set $journal to { entries: [], quests: { main: [], side: [], completed: [] }, milestones: [] }>>