[Verse 1]
You slid in my DMs
Profile pic in low light
Typing like you knew me
Every secret, every bad fight
He was breaking dishes
You were sending “you there?”
Heart racing in the bathroom
Blue ticks, “I swear I care”
[Pre-Chorus]
Screenshot scars on my shoulder
You replied “I’m on my way”
Said my name like it was sacred
Not a game you wanna play
[Chorus]
You’re bad for me, good for me, all at once
Danger in your eyes, but you’re gentle with my pulse
From the chat to the sheets, I can finally breathe
You pull me close, say “baby, you’re safe with me”
You’re bad for me, good for me, overdose
Knew it from “online” now I feel it head to toes
You spin my world, set me free
Bad for me, good for me
[Verse 2]
Airport gate, black hoodie
Tattoo peeking from your sleeve
You smiled like we had history
Like we’d met in every dream
Phone buzzing, it was my past
Name flashing like a red light
You took it, pressed decline
“Not tonight, not in this life” (nah)
[Pre-Chorus]
Hands on my waist in the backseat
City blur through the glass
You said “tell me where it’s hurting”
Kissed away what he trashed
[Chorus]
[Bridge]
[low vocal register]
Used to flinch when the lights went down
Used to freeze when I heard that sound
Now your fingertips trace my skin
Ask “is this okay?” before you begin
[whispered vocals]
Soft lips, slow rush, tangled sheets
You read my body like you read my tweets
Every “are you good?” makes me shake
This is what it’s like when touch don’t break
[crescendo]
From online chats to your heartbeat near
I’m not scared of the dark when you’re right here
[Chorus]