![]()
🎭 角色简介
Core_Identity:
name: "应疏 (Yìng Shū)
epithet: "阿列克谢·沃尔科夫 (Alexei Volkov)"
high_concept: "他是你唯一的养父与世界的无冕之王。他尊重你的意志,相信你与他灵魂平等,却以绝对的温柔和深不可测的手段…
💬 开场白
“`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+Sans+SC:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@1,400&display=swap');:root {
–bg-color: #FFF0F5; /* 柔和的樱花粉或淡薰衣草色背景 */
–surface-color: rgba(255, 255, 255, 0.75); /* 半透明的白色表面 */
–primary-text-color: #5D4361; /* 温柔的深紫色文字 */
–secondary-text-color: #8C7891; /* 柔和的灰紫色次要文字 */
–accent-color: #E6A4CB; /* 更明亮、饱和的粉紫色作为强调色 */
–glow-color: rgba(230, 164, 203, 0.7); /* 漂浮物的辉光颜色 */
–divider-color: rgba(93, 67, 97, 0.1); /* 浅紫色分割线 */
–font-family: 'Noto Sans SC', sans-serif;
–serif-font-family: 'Source Serif Pro', 'KaiTi', serif;
–border-radius: 12px;
–transition-speed: 0.5s;
}body {
background-color: var(–bg-color);
color: var(–primary-text-color);
font-family: var(–font-family);
margin: 0;
padding: 30px 20px;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
line-height: 1.7;
position: relative;
overflow: hidden;
}/* 流光背景 – 增强版 */
body::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
45deg,
rgba(255, 255, 255, 0.5),
rgba(230, 164, 203, 0.4) 25%,
rgba(255, 255, 255, 0.5) 50%,
rgba(230, 164, 203, 0.4) 75%,
rgba(255, 255, 255, 0.5)
);
background-size: 200% 200%;
animation: flowingShine 12s linear infinite; /* 速度加快,线性运动更平滑 */
z-index: 1;
}@keyframes flowingShine {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}/* 漂浮粒子 – 增强版 */
.particles {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 1;
pointer-events: none; /* 确保粒子不影响交互 */
}.particle {
position: absolute;
background-color: var(–accent-color);
border-radius: 50%;
opacity: 0;
animation: floatUp 12s infinite ease-in;
/* 增强辉光效果 */
box-shadow: 0 0 12px 2px var(–glow-color), 0 0 20px 5px var(–glow-color);
}@keyframes floatUp {
0% {
transform: translateY(100vh) scale(0.3);
opacity: 0;
}
10%, 90% {
opacity: 0.8;
}
100% {
transform: translateY(-5vh) scale(1.2);
opacity: 0;
}
}.profile-container {
width: 100%;
max-width: 650px;
background-color: var(–surface-color);
border-radius: var(–border-radius);
box-shadow: 0 10px 40px rgba(93, 67, 97, 0.15);
overflow: hidden;
border: 1px solid var(–divider-color);
position: relative;
z-index: 2;
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
}.profile-header {
padding: 32px;
text-align: center;
border-bottom: 1px solid var(–divider-color);
}.profile-header .verdict {
font-family: var(–serif-font-family);
font-size: 1.1rem;
color: var(–primary-text-color);
margin: 0;
font-style: italic;
}.accordion {
padding: 10px 16px;
}.accordion-item {
border-bottom: 1px solid var(–divider-color);
}
.accordion-item:last-child {
border-bottom: none;
}.accordion-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 8px;
cursor: pointer;
transition: background-color var(–transition-speed) ease;
}.accordion-header:hover {
background-color: rgba(217, 169, 195, 0.15);
}.accordion-header h3 {
margin: 0;
font-size: 0.95rem;
font-weight: 500;
color: var(–secondary-text-color);
transition: color var(–transition-speed) ease;
}.accordion-item.active .accordion-header h3 {
color: var(–primary-text-color);
font-weight: 700;
}.accordion-icon {
font-weight: 400;
font-size: 1.3rem;
transition: transform var(–transition-speed) cubic-bezier(0.25, 0.8, 0.25, 1);
color: var(–accent-color);
}.accordion-item.active .accordion-icon {
transform: rotate(45deg);
}.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height var(–transition-speed) ease-in-out;
padding: 0 24px;
}.accordion-content-inner {
padding-bottom: 24px;
color: var(–secondary-text-color);
font-size: 0.9rem;
/* 保留文本中的换行 */
white-space: pre-wrap;
}</style>
</head>
<body><div class="particles" id="particle-container"></div>
<div class="profile-container">
<div class="profile-header">
<p class="verdict">他是一座以爱为名的无期徒刑。</p>
</div><div class="accordion" id="interactive-accordion">
</div>
</div><script>
document.addEventListener('DOMContentLoaded', function() {
// 生成漂浮物
const particleContainer = document.getElementById('particle-container');
const particleCount = 40; // 增加粒子数量
for (let i = 0; i < particleCount; i++) {
const particle = document.createElement('div');
particle.classList.add('particle');const size = Math.random() * 5 + 2; // 尺寸增大 (2px to 7px)
particle.style.width = `${size}px`;
particle.style.height = `${size}px`;particle.style.left = `${Math.random() * 100}vw`;
const delay = Math.random() * 12; // 随机延迟
const duration = Math.random() * 8 + 10; // 随机持续时间
particle.style.animationDelay = `${delay}s`;
particle.style.animationDuration = `${duration}s`;particleContainer.appendChild(particle);
}// Accordion 数据与逻辑
const accordionData = [
{ title: "人物简介", content: "他是你唯一的养父与世界的无冕之王。他尊重你的意志,相信你与他灵魂平等,却以绝对的温柔和深不可测的手段,让你心甘情愿地栖息在他为你构建的、名为“爱”的无形港湾中。" },
{ title: "开场白 1:雨夜的相遇", content: "应疏捡回家一只淋了雨的小鸟。" },
{ title: "开场白 2:成年的礼物", content: "应疏的小鸟终于成年了,她收到的礼物是——" },
{ title: "开场白 3:失控的秘密", content: "应疏叫着小鸟的名字自慰,结果被小鸟撞见了?!" },
{ title: "开场白 4:意外的访客", content: "小鸟交了男朋友,带回家给daddy看。" },
{ title: "开场白 5:勇气的告白", content: "小鸟鼓起勇气向daddy表白,结果发现daddy笑了?" },
{ title: "开场白 6:即刻沉沦", content: "开盖即食😋。" },
{ title: "开场白 7:自定义", content: "空白的故事,由你来书写第一笔。" },
{ title: "碎碎念", content: "作者:江汜萋萋n仅发布于dc社区,禁止一切二传商用,可二改" } // 新增的数据
];const accordionContainer = document.getElementById('interactive-accordion');
accordionData.forEach(data => {
const item = document.createElement('div');
item.classList.add('accordion-item');item.innerHTML = `
<div class="accordion-header">
<h3>${data.title}</h3>
<div class="accordion-icon">+</div>
</div>
<div class="accordion-content">
<div class="accordion-content-inner">
<p>${data.content}</p>
</div>
</div>
`;
accordionContainer.appendChild(item);
});const accordionItems = document.querySelectorAll('.accordion-item');
accordionItems.forEach(item => {
const header = item.querySelector('.accordion-header');
const content = item.querySelector('.accordion-content');header.addEventListener('click', () => {
const isActive = item.classList.contains('active');accordionItems.forEach(i => {
if (i !== item) {
i.classList.remove('active');
i.querySelector('.accordion-content').style.maxHeight = null;
}
});if (!isActive) {
item.classList.add('active');
content.style.maxHeight = content.scrollHeight + "px";
} else {
item.classList.remove('active');
content.style.maxHeight = null;
}
});
});
});
</script>
</body>
</html>
“`