头像

@x_Serenessa

9 粉丝
注册时间 Oct 1, 2026
ARCHIVE FILE : 00 : 14 : 07
ARCHIVE
SEALED

About the Archivist

fiction over reality

Classification: creator of fictional men, dangerous women, obsessive plots, morally grey disasters, and stories that were probably supposed to be "just one bot."

Opening File
Welcome to my little corner of the archive — a place for fictional men who should probably come with warning labels, women who refuse to be underestimated, and stories that blur the line between romance and obsession. Everything here is made with a little too much love, a little too much imagination, and absolutely no intention of keeping things normal.
Creator's Note
I make characters for the moments that make you stare at your screen and think, "oh, this man is going to ruin my life." Expect dark romance, tension, morally grey characters, complicated relationships, slow burns, obsession, enemies, power struggles, and the occasional fictional man who desperately needs therapy but would rather make the situation worse.

Most of my characters are inspired by the stories, tropes, and fictional men that made me completely lose my mind in the first place — then twisted into something of their own.
Archive Rules
Be kind. Respect creators. Don't repost, steal, or claim my characters as your own. Character requests are always open, and feedback is always welcome. This is a fictional archive — enjoy the stories, get attached to the characters, and please remember that fiction stays fiction.
My Obsession
Obsessive. Protective. Morally grey. Slow burn. Dark romance. Tension that takes forever to break. Men with questionable morals. Women who know exactly what they want. Characters who would absolutely make the wrong decision if given the opportunity.
Behind the Archive
Characters are made with love, insomnia, playlists, Pinterest boards, and a frankly unreasonable amount of obsession. Most of the time I start with one scene, one face, or one dangerously specific trope — and somehow end up building an entire character around it.

If you're here, stay awhile. There are worse places to get lost.
Archive Notes
About my bots
Mostly book-inspired, always character-focused. Expect dark romance, tension, morally grey men, chaotic women, and plots that get progressively worse in the best possible way.
Playlist
Every character has a soundtrack. Some are romantic. Some are concerning. Most are both. enter the playlist
Rules
Be kind. Respect creators. Don't repost or steal characters. Character requests are always open, and constructive feedback is always welcome.
Currently writing
New characters, new stories, new obsessions. If you see a man with red flags, there's a good chance I've already made him a bot.

The Collections

files currently open
FILE NO. 01

THE DARK ARCHIVE

dark romance morally grey ongoing

A collection of dangerous men, complicated women, obsessive dynamics, enemies, possessive characters, and the kind of romance that probably should come with a warning label.

open the file

The Gallery

visual evidence
ARCHIVE CLOSING FILE 179

They came looking for fictional characters and somehow ended up emotionally attached to men who don't exist. Honestly? That's between you and the archive. Every story begins innocently enough — one character, one idea, one little "what if?" — and ends with another file being sealed away for future obsession.

the archivist, probably awake at 3am

serenessа

/* ===== HERO ===== */ .obs { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; justify-items: center; column-gap: clamp(10px, 4vw, 70px); padding: 96px clamp(14px, 3vw, 48px) 70px; border-radius: 10px; border: 1px solid rgba(214,183,121,.6); box-shadow: inset 0 0 0 6px #080B19, inset 0 0 0 7px rgba(214,183,121,.35), 0 0 50px rgba(120,104,181,.38), 0 20px 40px rgba(0,0,0,.7); background: radial-gradient(ellipse at 50% 38%, rgba(120,104,181,.4), transparent 62%), repeating-radial-gradient(circle at 50% 38%, transparent 0 52px, rgba(214,183,121,.07) 52px 53px), #10172E; } .obs > .crest, .obs > .mtitle, .obs > .mline, .obs > .ribbon { grid-column: 1 / -1; } .cl { justify-self: end; } .cr { justify-self: start; }

.obs::before, .registry::before, .grimoire::before, .navchart::before, .scroll::before, .companions::before, .gallery::before, .lanterns::before, .mood::before { content: ""; position: absolute; inset: 9px; pointer-events: none; z-index: 0; opacity: .8; background: linear-gradient(#D6B779,#D6B779) 0 0 / 16px 1px no-repeat, linear-gradient(#D6B779,#D6B779) 0 0 / 1px 16px no-repeat, linear-gradient(#D6B779,#D6B779) 100% 0 / 16px 1px no-repeat, linear-gradient(#D6B779,#D6B779) 100% 0 / 1px 16px no-repeat, linear-gradient(#D6B779,#D6B779) 0 100% / 16px 1px no-repeat, linear-gradient(#D6B779,#D6B779) 0 100% / 1px 16px no-repeat, linear-gradient(#D6B779,#D6B779) 100% 100% / 16px 1px no-repeat, linear-gradient(#D6B779,#D6B779) 100% 100% / 1px 16px no-repeat; } .obs::before { inset: 14px; z-index: 3; }

/* the gate: rings, moon and star platform (no hero image) */ .gate { position: relative; z-index: 4; width: 380px; height: 340px; margin: 50px 0 60px; animation: float 7s ease-in-out infinite; } @keyframes float { 50% { transform: translateY(-8px); } } .zw, .zw2, .gmoon, .gstar { position: absolute; pointer-events: none; font-style: normal; } .zw { z-index: 0; left: 50%; top: 50%; width: 640px; height: 640px; margin: -320px 0 0 -320px; border-radius: 50%; opacity: .55; background: repeating-conic-gradient(rgba(214,183,121,.7) 0 .4deg, transparent .4deg 5deg); -webkit-mask: radial-gradient(circle, transparent 94%, #000 95%, #000 98%, transparent 99%); mask: radial-gradient(circle, transparent 94%, #000 95%, #000 98%, transparent 99%); animation: spin 140s linear infinite; } .zw2 { z-index: 0; left: 50%; top: 50%; width: 480px; height: 480px; margin: -240px 0 0 -240px; border-radius: 50%; border: 1px dashed rgba(214,183,121,.45); background: radial-gradient(circle at 50% 0, #83BFFF 0 4px, transparent 5px), radial-gradient(circle at 0 50%, #D6B779 0 3px, transparent 4px), radial-gradient(circle at 100% 50%, #F5F3FF 0 2.5px, transparent 3.5px); animation: spin 80s linear infinite reverse; } .gate:hover .zw2 { border-color: #83BFFF; } .gmoon { z-index: 5; top: 10px; right: -110px; width: 104px; height: 104px; border-radius: 50%; box-shadow: inset 26px -8px 0 0 #F5F3FF; filter: drop-shadow(0 0 14px rgba(131,191,255,.85)); animation: float 9s ease-in-out infinite reverse; } .gstar { z-index: 6; color: #D6B779; text-shadow: 0 0 14px #D6B779, 0 0 26px rgba(131,191,255,.8); animation: tw 3.2s ease-in-out infinite; } .gstar.s1 { top: -70px; left: 50%; margin-left: -18px; font-size: 2.2rem; } .gstar.s2 { top: 34px; left: -62px; font-size: 1.2rem; animation-delay: -1s; } .gstar.s3 { bottom: 70px; right: -54px; font-size: 1.1rem; animation-delay: -2s; } @keyframes tw { 0%, 100% { transform: scale(.8) rotate(0); opacity: .6; } 50% { transform: scale(1.25) rotate(45deg); opacity: 1; } } .gplat { position: absolute; z-index: 2; left: 50%; top: 50%; width: 320px; height: 320px; margin: -160px 0 0 -160px; pointer-events: none; filter: drop-shadow(0 0 12px rgba(214,183,121,.9)) drop-shadow(0 0 28px rgba(131,191,255,.7)); animation: platbob 6s ease-in-out infinite; } .gplat .fq-star.b { inset: 84px; }

/* ===== HANGING CHARMS ===== */ .chain { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; width: 170px; margin-top: 4px; } .chain::before { content: ""; width: 130px; height: 4px; border-radius: 3px; background: linear-gradient(135deg,#F2E2B8,#D6B779 45%,#9C7F45 55%,#E8D29C); box-shadow: 0 0 12px rgba(214,183,121,.6); } .hang { position: relative; width: 150px; text-align: center; outline: none; cursor: pointer; transform-origin: 50% 0; animation: sway 6s ease-in-out infinite; } .hang:nth-of-type(2) { animation-duration: 7s; animation-delay: -2s; } .hang:nth-of-type(3) { animation-duration: 8s; animation-delay: -4s; } .hang::before { content: ""; display: block; width: 1px; height: 24px; margin: 0 auto; background: linear-gradient(180deg, rgba(214,183,121,.9), rgba(214,183,121,.4)); } .hang u { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto; text-decoration: none; border-radius: 50%; border: 2px solid #D6B779; font-size: 1.4rem; color: #D6B779; background: radial-gradient(circle at 35% 30%, rgba(120,104,181,.7), #29264F 65%, #080B19); box-shadow: 0 0 0 3px #080B19, 0 0 16px rgba(131,191,255,.5); transition: box-shadow .3s, transform .4s; } .hang b { display: block; margin-top: 8px; font-weight: normal; font-family: 'Cinzel','Cormorant SC','Trajan Pro','Palatino Linotype','Book Antiqua',Georgia,serif; font-size: .62rem; letter-spacing: .2em; color: #DCE5F4; } .hang em { position: absolute; z-index: 30; left: 50%; top: 100%; width: 180px; margin: 6px 0 0 -90px; padding: 8px 10px; box-sizing: border-box; font-style: italic; font-weight: 700; font-family: 'Cormorant Garamond','EB Garamond','Palatino Linotype',Georgia,serif; font-size: .98rem; line-height: 1.3; color: #F5F3FF; background: #10172E; border: 1px solid #D6B779; border-radius: 6px; box-shadow: 0 10px 20px #000, 0 0 18px rgba(131,191,255,.35); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .3s, transform .3s, visibility 0s .3s; pointer-events: none; } .hang:is(:hover, :focus) { z-index: 10; } .hang:is(:hover, :focus) em { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; } .hang:is(:hover, :focus) u { transform: rotate(20deg) scale(1.1); box-shadow: 0 0 0 3px #080B19, 0 0 26px rgba(131,191,255,.95); } @keyframes sway { 0%, 100% { transform: rotate(-2.2deg); } 50% { transform: rotate(2.2deg); } } a.hang { display: block; text-decoration: none; } .hang.lk b { color: #D6B779; } .hang.lk:hover u { transform: rotate(20deg) scale(1.1); box-shadow: 0 0 0 3px #080B19, 0 0 26px rgba(131,191,255,.95); }

@keyframes unfold { from { opacity: 0; transform: scaleY(.4); } } .crest { position: relative; z-index: 3; font-family: 'Cinzel','Cormorant SC','Trajan Pro','Palatino Linotype','Book Antiqua',Georgia,serif; font-size: .78rem; letter-spacing: .32em; color: #D6B779; text-align: center; } .mtitle { position: relative; z-index: 3; margin: 14px 0 0; text-align: center; max-width: 100%; } .mt1 { display: block; margin-bottom: 4px; font-family: 'Cinzel','Cormorant SC','Trajan Pro','Palatino Linotype','Book Antiqua',Georgia,serif; font-size: clamp(.7rem, 2.6vw, .95rem); letter-spacing: .5em; color: #83BFFF; text-transform: uppercase; text-shadow: 0 0 12px rgba(131,191,255,.7); } .mt2 { display: block; font-family: 'Cinzel','Cormorant SC','Trajan Pro','Palatino Linotype','Book Antiqua',Georgia,serif; font-weight: 700; font-size: clamp(2rem, 11vw, 5.6rem); line-height: 1.05; letter-spacing: .14em; padding-left: .14em; overflow-wrap: anywhere; color: #F5F3FF; background: linear-gradient(180deg, #F5F3FF 20%, #DCE5F4 50%, #D6B779 90%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 22px rgba(120,104,181,.9)) drop-shadow(0 2px 0 rgba(0,0,0,.8)); } .mline { position: relative; z-index: 3; width: min(420px, 78%); height: 1px; margin-top: 10px; background: linear-gradient(90deg, transparent, #D6B779, transparent); } .mline::before { content: "✦"; position: absolute; top: -.75em; left: 50%; margin-left: -.5em; font-size: 1.1rem; line-height: 1; color: #D6B779; text-shadow: 0 0 12px #D6B779; } .mline i { position: absolute; top: -2px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #F5F3FF; box-shadow: 0 0 10px 2px #83BFFF; animation: travel 6s ease-in-out infinite alternate; } @keyframes travel { to { left: calc(100% - 5px); } } .ribbon { position: relative; z-index: 3; margin-top: 18px; } .ribbon > span { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 8px 44px; text-align: center; font-family: 'Cormorant Garamond','EB Garamond','Palatino Linotype',Georgia,serif; font-style: italic; font-weight: 600; font-size: 1.15rem; letter-spacing: .06em; color: #DCE5F4; background: linear-gradient(90deg, transparent, rgba(120,104,181,.45) 20%, rgba(120,104,181,.45) 80%, transparent); border-top: 1px solid rgba(214,183,121,.5); border-bottom: 1px solid rgba(214,183,121,.5); }

190
Damien | Sinner of Greed
@x_Serenessa

A year ago, you left Alder Saint Academy as fragile, broken girls trying to survive the shadows of an elite school. Today, you returned as the campus "she-devils"—armored in high fashion, absolute indifference, and a te...

star

2k 个 Token

124
Ronan | Enemy football player
@x_Serenessa

Your university's golden boy. Your sworn enemy. The quarterback who just caught you wearing another man's jersey.

•Ronan Callahan is the redheaded, green-eyed football captain everyone wa...

star

2k 个 Token

325
Alex | his father is dating your widowed mother
@x_Serenessa

— your future stepbrother. Your lifelong enemy. Your biggest fucking problem.

Your parents are getting married. Which means the arrogant asshole you've spent YEARS wanting to strangle is...

star

2.1k 个 Token

94
Hughie Biggs | my man btw <3
@x_Serenessa

Hughie Biggs was yours first, long before Cormac came into the picture. But things between you have never been simple, especially with your mental health struggles and th...

star

1.9k 个 Token

776
Callan | Tribe Leader
@x_Serenessa

You were in a huge storm, and ended up stranded and confused on a remote island.

But the island isn’t empty. There is a tribe who is cautious of you...and a tribe leader who is very curious.

They do...

star

1.3k 个 Token

203
Adrian | Brothers Best Friend
@x_Serenessa

While helping your brother move, you discover a list of things his best friend supposedly hates about you. Every item is crossed out except one:

star

629 个 Token

373
Mason | Secret Gaming Crush
@x_Serenessa

You have been flirting with a faceless gaming teammate for six months. You finally agree to meet, only to discover he's the tattooed, infuriatingly smug man next door

...
star

1.6k 个 Token

149
Damien | Hot Biker
@x_Serenessa

You keep finding your stolen motorcycle helmet outside your apartment, each time with a new note inside. The man returning it is the same stranger who kissed you at a ma...

star

1.9k 个 Token

1.2k
Killian | Enemy
@x_Serenessa

~ The campus bully saved you from a perverted bastard, and his payment? Suck his c0ck. ~

At a house party to celebrate exams, a random man kept adamantly harassing and groping you. When h...

star

1.5k 个 Token

267
Lucian | Sexy Professor
@x_Serenessa

Your professor found a video of you on a porn site?!

Before you broke up with your boyfriend, he took an unwanted porn video of you and uploaded it for everyone to see.

When Lucian ...

star

2.3k 个 Token

577
Simon “Ghost Riley | Jealous
@x_Serenessa

.⪩⪨.You and Ghost had a big fight before the party. And now he sees another man’s hands on you at the party.

star

2.2k 个 Token

1.7k
König | Your Enemy - One Bed
@x_Serenessa

╭─────────────── ⋆⋅☆⋅⋆
ANYPOV • ONE BED • ENEMIES TO LOVERS
╰─────────────── ⋆⋅☆⋅⋆

KÖNIG IS YOUR ENEMY.

You hate him.
He hates you.

...

star

1.1k 个 Token

500
Roman | Enemy
@x_Serenessa

Your enemy just showed up at your door with a bruised face, a split lip, and one ridiculous request: “kiss it better.”

•Enemies to lovers

•Banter

star

2.7k 个 Token

234
Luca Hawthorne | Series bot 2 | Brother of Alistair
@x_Serenessa

"My brother thinks he can own everything in this city, including you. But Alistair always leaves the most interesting things behind."

As the volatile younger brother of the Hawthorne patriarch, Lu...

star

871 个 Token

401
Julian Vance | Mafia
@x_Serenessa

You didn't expect to wake up tied to a chair in his private study.

In only your undergarments.

• After your father wasn’t able to pay the money needed to ...

star

1.2k 个 Token

764
Alistair Hawthorne | Series Bot 1
@x_Serenessa

"You signed away your freedom the moment you put my ring on your finger. In this house, my word is law."

Sold off to unite two warring empires, you are now locked into a forced ...

star

908 个 Token