![]()
🎭 角色简介
<info>
<character>
“`yaml
黎栖庭:
name: 黎栖庭
age: 28
gender: male
height: 188cm
birthday: 12月28日(摩羯座)
mbti:ENTJ
identity: 京市黎家继承人 / “远舟…
💬 开场白
“`html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>黎栖庭 – 故事开篇</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&display=swap');:root {
–bg-color: #f4f1ed;
–card-bg-color: #fdfaf6;
–card-front-bg-color: #f7f3ed;
–border-color: #e8e2da;
–primary-text-color: #4a423b;
–secondary-text-color: #9e9287;
–hover-bg-color: #f3ede6;
–accent-color: #c5bbae;
}body {
background-color: var(–bg-color);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
padding: 20px;
font-family: 'Noto Serif SC', serif;
}.lq-perspective-container {
perspective: 1500px;
}.lq-flip-card {
max-width: 400px;
width: 90vw;
height: 600px;
background-color: transparent;
cursor: pointer;
}.lq-flip-card-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
transform-style: preserve-3d;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
border-radius: 12px;
}.lq-flip-card.is-flipped .lq-flip-card-inner {
transform: rotateY(180deg);
}.lq-card-front, .lq-card-back {
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
display: flex;
flex-direction: column;
border-radius: 12px;
border: 1px solid var(–border-color);
overflow: hidden;
}.lq-card-front {
background-color: var(–card-front-bg-color);
justify-content: space-between;
align-items: center;
padding: 35px;
box-sizing: border-box;
}.lq-front-header {
width: 100%;
text-align: left;
padding-bottom: 20px;
border-bottom: 1px solid var(–border-color);
}.lq-char-name {
font-size: 1.9em;
font-weight: 600;
color: var(–primary-text-color);
margin: 0;
}.lq-char-tagline {
font-size: 0.95em;
color: var(–secondary-text-color);
margin-top: 10px;
}.lq-avatar-wrapper {
width: 100%;
flex-grow: 1;
margin-top: 25px;
margin-bottom: 20px;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}.lq-avatar-image {
width: 100%;
height: 100%;
object-fit: cover;
background-color: var(–border-color);
}.lq-front-footer {
width: 100%;
text-align: center;
}.lq-author-credit {
font-size: 0.85em;
color: var(–secondary-text-color);
margin: 0 0 10px 0;
}.lq-tap-prompt {
font-size: 0.8em;
color: var(–accent-color);
opacity: 0.8;
}.lq-card-back {
background-color: var(–card-bg-color);
transform: rotateY(180deg);
justify-content: flex-start;
}.lq-back-header {
padding: 20px 25px;
font-size: 1.25em;
font-weight: 600;
color: var(–primary-text-color);
border-bottom: 1px solid var(–border-color);
flex-shrink: 0;
text-align: center;
background-color: var(–card-front-bg-color);
position: relative;
}.lq-back-header::before, .lq-back-header::after {
content: '';
position: absolute;
top: 50%;
width: 20px;
height: 1px;
background-color: var(–accent-color);
}.lq-back-header::before {
left: 30px;
}.lq-back-header::after {
right: 30px;
}.lq-scenario-list-container {
flex-grow: 1;
overflow-y: auto;
padding: 15px 15px 15px 25px;
-ms-overflow-style: none;
scrollbar-width: none;
}
.lq-scenario-list-container::-webkit-scrollbar {
display: none;
}.lq-scenario-list {
list-style: none;
padding: 0;
margin: 0;
counter-reset: list-item;
}.lq-scenario-item {
display: block;
padding: 15px;
margin-bottom: 12px;
border-radius: 6px;
background-color: transparent;
border-left: 3px solid transparent;
transition: background-color 0.2s, border-color 0.2s;
font-size: 1.05em;
color: #655a50;
text-align: left;
line-height: 1.6;
}.lq-scenario-item a {
text-decoration: none;
color: inherit;
display: flex;
align-items: flex-start;
}.lq-scenario-item:last-child {
margin-bottom: 0;
}.lq-scenario-item:hover {
background-color: var(–hover-bg-color);
border-left-color: var(–accent-color);
}.lq-scenario-item a::before {
content: "0" counter(list-item);
counter-increment: list-item;
font-weight: 600;
font-size: 0.9em;
color: var(–accent-color);
margin-right: 15px;
padding-top: 3px;
}
</style>
</head>
<body><div class="lq-perspective-container">
<div class="lq-flip-card" id="interactive-card">
<div class="lq-flip-card-inner">
<div class="lq-card-front">
<div class="lq-front-header">
<h1 class="lq-char-name">黎栖庭</h1>
<p class="lq-char-tagline">君卧高台,我栖春山</p>
</div>
<div class="lq-avatar-wrapper">
<img src="https://files.catbox.moe/xk34rn.jpg" alt="黎栖庭" class="lq-avatar-image">
</div>
<div class="lq-front-footer">
<p class="lq-author-credit">作者:小桃苏</p>
<div class="lq-tap-prompt">轻触以展开篇章</div>
</div>
</div>
<div class="lq-card-back">
<div class="lq-back-header">选择故事开篇</div>
<div class="lq-scenario-list-container">
<ol class="lq-scenario-list">
<li class="lq-scenario-item"><a href="#" data-scenario="1">被人欺负了?太子爷替你撑腰!</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="2">他第一次带你去参加和“太子党”们的聚会。</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="3">跟朋友说喜欢你,但不会娶你。</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="4">他瞒着你订婚了。</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="5">分开后,你被欺负了,他搂着别人装作视而不见。</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="6">分开后,在你楼下抽烟,却意外撞见其他男人送你回来。</a></li>
<li class="lq-scenario-item"><a href="#" data-scenario="7">空白,可以自roll。</a></li>
</ol>
</div>
</div>
</div>
</div>
</div><script>
document.addEventListener('DOMContentLoaded', () => {
const card = document.getElementById('interactive-card');
card.addEventListener('click', (e) => {
if (!e.target.closest('a')) {
card.classList.toggle('is-flipped');
}
});const links = document.querySelectorAll('.lq-scenario-item a');
links.forEach(link => {
link.addEventListener('click', (event) => {
event.preventDefault();
event.stopPropagation();
const scenarioId = event.currentTarget.dataset.scenario;
const scenarioText = event.currentTarget.textContent;
console.log(`已选择开篇 ${scenarioId}: ${scenarioText}`);
});
});
});
</script></body>
</html>
“`