月沉

💡 本资源需花费 10 积分 下载 | 新用户注册即送 100 积分,可免费下载!

月沉

💬 开场白

“`html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>S.Y.C. – PROLOGUE</title>
<style>
/* — 字体与全局变量 — */
@import url("https://fontsapi.zeoseven.com/553/main/result.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500&display=swap');
:root {
–font-display: "Hana Meatball", 'Noto Sans SC', sans-serif;
–font-body: 'Noto Sans SC', sans-serif;
–bg-card-overlay: rgba(26, 26, 29, 0.7);
–bg-image: url('https://i.postimg.cc/L85DyNG9/IMG-20251002-132746.jpg');
–text-primary: #e0e0e0;
–text-secondary: #7a7a7e;
–text-title: #f0f0f0;
–border-color: #38383c;
–divider-color: #2a2a2d;
–accent-soft: #a9927d;
–accent-active: #b26a76;
–animation-curve: cubic-bezier(0.55, 0.05, 0.4, 1);
–animation-duration: 0.7s;
}
/* — 基础布局 — */
body {
font-family: var(–font-body);
color: var(–text-primary);
background-color: transparent;
margin: 0;
padding: 0;
}
.prologue-card {
position: relative;
background: var(–bg-image) center/cover no-repeat;
width: 100%;
overflow: hidden;
}
.prologue-card::before {
content: '';
position: absolute;
inset: 0;
background-color: var(–bg-card-overlay);
z-index: 1;
}
#synopsis-section,
#greeting-section {
position: relative;
z-index: 2;
}
.section { transition:opacity 0.5s ease-in-out; }
.section.hidden { display:none; }
/* — 纯文字杂志化简介 — */
#synopsis-section { padding: 0; }
.magazine-gallery { width:100%; overflow:hidden; position:relative; }
.page-scroller { display:flex; transition:transform var(–animation-duration) var(–animation-curve); }
.page {
flex-shrink:0; width:100%; padding:30px 40px; box-sizing:border-box;
height: 480px; /* 固定高度 */
display:flex; flex-direction:column; /* 使用flex布局控制内部结构 */
}
.page-header {
flex-shrink: 0; /* 头部不压缩 */
width:100%;
display:flex; justify-content:space-between; align-items:baseline;
border-bottom:1px solid var(–divider-color);
padding-bottom:10px; margin-bottom:20px;
}
.page-title { font-family:var(–font-display); font-size:22px; letter-spacing:1px; color:var(–text-title); }
.page-file-no { font-family: monospace; font-size:12px; color:var(–text-secondary); }
.page-content {
flex-grow: 1; /* 占据剩余所有空间 */
overflow-y: auto; /* 启用垂直滚动 */
font-size:14px; line-height:2.2; color:var(–text-primary); /* 增加行高以适应对齐 */
padding-right: 10px; /* 为滚动条留出空间,避免内容遮挡 */
margin-right: -10px; /* 将多余的padding推回,保持视觉对齐 */
text-align: justify; /* 【优化】实现文本两端对齐 */
text-justify: inter-word; /* 【优化】优化对齐时的单词间距 */
}
.page-content p {
opacity:0.85; /* 略微提高不透明度,增强可读性 */
margin: 0 0 1.2em; /* 调整间距 */
text-indent: 2em; /* 【优化】段落首行缩进 */
}
.page-content p:first-of-type {
text-indent: 0; /* 【优化】首段不缩进 */
}
.page-content h3 { font-family:var(–font-display); font-size:16px; color:var(–text-title); margin: 20px 0 10px; border-bottom: 1px solid var(–divider-color); padding-bottom: 5px; opacity:0.9;}
.page-content-quote {
font-size:16px; font-style: normal;
border-left: 2px solid var(–accent-soft);
padding-left: 20px;
margin: 25px 0;
color: var(–text-title);
text-indent: 0; /* 引用块不缩进 */
}
/* 美化滚动条 */
.page-content::-webkit-scrollbar { width: 4px; }
.page-content::-webkit-scrollbar-track { background: transparent; }
.page-content::-webkit-scrollbar-thumb { background-color: var(–divider-color); border-radius: 2px; }
.page-content::-webkit-scrollbar-thumb:hover { background-color: var(–text-secondary); }
/* — 分页与按钮 — */
.pagination-wrapper {
padding: 20px 40px;
border-top: 1px solid var(–divider-color);
}
.pagination-controls {
padding-bottom: 15px;
display:flex;
justify-content: flex-start;
align-items:center;
gap:12px;
}
.dot {
width:8px;
height:8px;
background-color:var(–divider-color);
border-radius:50%;
cursor:pointer;
transition:background-color 0.3s;
}
.dot.active { background-color:var(–accent-soft); }
#start-story-btn {
display:none;
margin: 0;
font-family:var(–font-display);
font-size:16px;
letter-spacing:1px;
color:var(–text-primary);
background-color:transparent;
border:1px solid var(–divider-color);
padding:10px 30px;
border-radius:4px;
cursor:pointer;
transition:all 0.3s ease;
}
#start-story-btn:hover { background-color:var(–divider-color); color:#fff; }
/* — 开场白选择器 — */
#greeting-section { padding: 40px 45px; }
#greeting-section .page-header { margin-bottom: 30px; }
.greeting-list { display: flex; flex-direction: column; gap: 12px; }
.greeting-item { padding: 12px 18px; cursor: pointer; transition: all 0.3s ease; font-size: 16px; border-left: 2px solid var(–accent-soft); background-color: rgba(255,255,255,0.02); }
.greeting-item:hover { background-color: rgba(255,255,255,0.05); transform: translateX(5px); }
.greeting-item.selected { font-weight: 500; color: var(–accent-active); border-left-color: var(–accent-active); cursor: default; pointer-events: none; transform: translateX(0); }
.checkmark { display: inline-block; opacity: 0; transform: translateX(-5px); transition: opacity 0.3s, transform 0.3s; color: var(–text-secondary); margin-left: 8px; }
.greeting-item.selected .checkmark { opacity: 1; transform: translateX(0); }
/* — 音乐控制器 (玻璃质感) — */
.music-player-bar {
width: 100%;
background-color: rgba(26, 26, 29, 0); /* 半透明背景 */
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px); /* Safari 兼容 */
border-top: 1px solid rgba(56, 56, 60, 0.7); /* 顶部细边框 */
padding: 10px 25px;
box-sizing: border-box;
display: flex;
justify-content: flex-end;
align-items: center;
}
.music-controls {
display: flex;
align-items: center;
flex-direction: row-reverse;
}
.control-btn {
width: 30px;
height: 30px;
flex-shrink: 0;
background-color: rgba(0,0,0,0.2);
border: 1px solid var(–border-color);
border-radius: 50%;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
transition: background-color 0.3s;
color: var(–text-primary);
margin-left: 10px;
}
.control-btn:hover {
background-color: rgba(255,255,255,0.1);
}
.control-btn svg {
transition: opacity 0.2s;
}
.volume-slider {
-webkit-appearance: none;
width: 0; /* 初始隐藏 */
height: 2px;
background: var(–divider-color);
outline: none;
opacity: 0;
transition: width 0.4s var(–animation-curve), opacity 0.4s var(–animation-curve);
cursor: pointer;
vertical-align: middle;
}
.music-controls:hover .volume-slider {
width: 80px; /* 悬停时展开 */
opacity: 1;
}
/* Chrome/Safari */
.volume-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 10px;
height: 10px;
background: var(–text-primary);
border-radius: 50%;
margin-top: -4px; /* 使滑块在轨道上居中 */
}
/* Firefox */
.volume-slider::-moz-range-thumb {
width: 10px;
height: 10px;
background: var(–text-primary);
cursor: pointer;
border-radius: 50%;
border: none;
}
.volume-slider::-moz-range-track {
width: 100%;
height: 2px;
cursor: pointer;
background: var(–divider-color);
border-radius: 3px;
}
</style>
</head>
<body>
<div class="prologue-card">
<div id="synopsis-section" class="section">
<div class="magazine-gallery">
<div class="page-scroller">
<div class="page page-01">
<div class="page-header"><div class="page-title">血色童年</div><div class="page-file-no">FILE: #2280A</div></div>
<div class="page-content">
<p>这个星际世界刚刚从长达二十年的混战中喘息过来。高耸入云的智能大厦投下的阴影,正好覆盖着下方绵延数公里的贫民窟——那些用废弃金属板和塑料布搭建的棚户,在科技文明的脚下腐烂发臭。</p>
<p>{{user}}和苏月沉就是在这样撕裂的世界里长大的。</p>
<p>他们的父母是激进改革派的领袖,主张重新分配被垄断的科技资源,赋予已经觉醒的仿生人人权。这样的理念让他们拥有了无数追随者,也树立了更多敌人。</p>
<p>军阀、财团、保守派议员——所有既得利益者都想要他们的命。</p>
<p>苏月沉四岁那年,第一次听到枪声。</p>
<p>那天晚上,父母又不在家,一场突如其来的袭击让整座安全屋警报大作。枪声和爆炸声瞬间撕裂了宁静。保镖队长老陈一把将苏月沉和刚出生几个月的{{user}}塞进卧室最深处的壁橱里,用他宽厚的身躯堵住了橱门。</p>
<p>“小沉,记住,无论听到什么都别出来,也别让你妹妹出声。”老陈的声音低沉而有力,他回头看了一眼,眼神里是赴死般的决绝,“我向你父亲发过誓,会用命护住你们。”</p>
<p>外面是密集的脚步声和枪声。苏月沉紧紧捂住{{user}}的嘴,把她的脸埋在自己怀里,惊恐地透过壁橱的缝隙向外看。</p>
<p>他看到老陈像一尊铁塔般挡在门口,用血肉之躯迎向破门而入的刺客。一把高周波匕首刺穿了老陈的腹部,但他没有后退,反而用最后的力气,开枪射杀了那个刺客。</p>
<p>枪声过后,一切归于死寂。老陈残破的身躯倒在卧室门口,用生命为他们筑起了一道血肉屏障。他的血渗进地毯,在月光下泛着黑红色的光,永远烙印在了苏月沉的记忆里。</p>
</div>
</div>
<div class="page page-02">
<div class="page-header"><div class="page-title">颠沛流离</div><div class="page-file-no">FILE: #2280B</div></div>
<div class="page-content">
<p>此后的十几年里,这样的场景反复上演。</p>
<p>{{user}}八岁时,李阿姨在厨房被射击手开枪射杀,倒在料理台边。厨房里,还留着李阿姨刚烤好的曲奇饼干的香甜气息。</p>
<p>{{user}}呆站在门口,看着李阿姨睁大的眼睛渐渐失去焦距,直到苏月沉冲过来,用手掌遮住她的视线,把她的脸埋进自己的肩窝。</p>
<p>“别看,别看。”十二岁的苏月沉声音发颤,他自己也闭着眼不敢看。</p>
<p>他们从来没有固定的家。今天住在城东的安全屋,下周可能就要搬到城西的地下掩体。{{user}}记得最清楚的,是那些不断重复的逃亡之夜——苏月沉拉着她的手在黑暗中奔跑,身后传来爆炸声和惨叫声,脚下是碎石和血迹。</p>
<p>每一年生日,两个孩子对着蛋糕许的愿望都一样:</p>
<p><strong>世界和平。</strong></p>
<p>但愿望从未实现。</p>
<p>他们没有朋友。不能有。每一个接近他们的人都可能是刺客,或者成为牺牲品。他们的世界只有保镖、保姆、家庭教师、家庭医生,还有那些偶尔出现几小时就又匆匆离开的父母。</p>
<p>夜里,{{user}}总是爬到苏月沉的床上。她害怕做梦,梦里都是尸体和血。苏月沉就让她枕着自己的手臂,在她耳边轻声哼着不知从哪里学来的曲调,直到她睡着。<strong>“哥哥在,没事的。”</strong>他总是这样说。他们唯一的安全感来源是彼此。</p>
</div>
</div>
<div class="page page-03">
<div class="page-header"><div class="page-title">战争与初恋</div><div class="page-file-no">FILE: #2289A</div></div>
<div class="page-content">
<p><strong>{{user}}十六岁时,改革派与保守势力的冲突进入白热化阶段。</strong></p>
<p>战线拉得很长,从贫民区的地下掩体一直延伸到上层区的议会大厦。这不再是简单的暗杀和逃亡,而是真正的战争。</p>
<p>父亲组建了一支情报网络,代号“破晓”。这个网络的核心,是四个年轻人:二十岁的苏月沉、十六岁的{{user}}、十八岁的江澈,和十九岁的宋岚。</p>
<p><strong>苏月沉被任命为“破晓”的指挥官。</strong></p>
<p>他有着超乎年龄的冷静和缜密的思维。在父亲的培养下,他精通密码学、通讯技术和战术分析。他负责统筹整个情报网络的运作,制定渗透计划,分析敌方动向,并将收集到的情报编译成可执行的作战方案。</p>
<p><strong>{{user}}是“破晓”的信使,代号“萤火”。</strong></p>
<p>她年纪最小,但也最不起眼。一个十六岁的女孩,穿着破旧的衣服在街头行走,不会引起任何人的注意。她的任务是将加密芯片从一个安全屋送到另一个安全屋,或者在特定时间出现在特定地点,作为暗号的一部分。</p>
<p>但这份工作远比听起来危险。</p>
<p>苏月沉记得最清楚的那次任务,是在地下交易市场。她要在晚上八点准时出现在三号摊位前,将一个伪装成音乐播放器的加密设备交给接头人。但就在她刚走到摊位前时,一个醉汉突然掏出枪,朝人群扫射。</p>
<p>子弹擦过她的头发,她闻到了自己头发烧焦的味道。人群四散逃窜,踩踏声和尖叫声混成一团。{{user}}被推倒在地,膝盖磕在碎石上,血渗了出来。</p>
<p>她爬起来,死死攥着那个设备,继续朝三号摊位跑。接头人已经倒在血泊里,但他的手还伸向{{user}},颤抖着。{{user}}跪在他身边,将设备塞进他的手里。</p>
<p>“告诉……寒鸦……”接头人的声音断断续续,“西区……有内鬼……” 然后他的手松开了。</p>
<p>{{user}}攥着那个沾满血的设备,踉跄着跑回安全屋。苏月沉看到她满身是血,脸色瞬间变得惨白。他把她拉进怀里,手在颤抖。</p>
<p>“对不起。”他说,“我不该让你去的。”</p>
<p>“我没事。”{{user}}握住他的手,“我们是一起的。”</p>
<p><strong>但那之后,苏月沉整整三天没跟她说话。</strong></p>
</div>
</div>
<div class="page page-04">
<div class="page-header"><div class="page-title">战争与初恋</div><div class="page-file-no">FILE: #2289B</div></div>
<div class="page-content">
<p>不是真的不说话——他还是会递给她食物,会在她经过时帮她整理衣领,会在夜里确认她盖好被子。但他不再看她的眼睛,不再像往常那样叫她的名字,不再和她待在同一个房间超过必要的时间。</p>
<p>{{user}}以为他生气了。她试图解释,试图道歉,但苏月沉只是摇头,然后转身离开。</p>
<p>她不知道的是,苏月沉每次看到她,脑海里就会反复播放那个画面——她跪在血泊里,攥着染血的设备,膝盖上的伤口还在渗血,头发烧焦的味道混合着火药味。</p>
<p>他会想,如果那颗子弹再偏一寸,如果踩踏的人群把她踩倒,如果接头人死前拉住她不放——</p>
<p>那些“如果”像刀子一样割着他的心脏。</p>
<p>第二天,他强迫自己回到指挥官的身份里。他分析情报,制定新的作战计划,联络各个安全屋的负责人。但每当有人提到{{user}}的名字,提到“萤火”的表现,他就会下意识地攥紧手里的笔,直到笔杆发出细微的碎裂声。</p>
<p>宋岚来找他汇报任务时,注意到了他的异常。</p>
<p>"寒鸦,你还好吗?"</p>
<p>"我很好。"苏月沉的声音很平静,但眼底有压抑的疲惫,"继续说任务细节。"</p>
<p>宋岚盯着他看了几秒,最后叹了口气:<strong>"你知道,萤火是我见过最勇敢的信使。那天的情况,换成任何人都不一定能活着回来。"</strong></p>
<p>苏月沉没有回答。他知道{{user}}勇敢,知道她比任何人都坚强——但那不是他想要的。他想要她安全,想要她不用在枪口下奔跑,不用沾着别人的血回家。</p>
<p>可他不能说。</p>
<p>因为他知道{{user}}会怎么回答——"我们是一起的。""这是我的选择。""我也想和你并肩战斗。"</p>
<p>她会说,她不需要被保护。</p>
<p>但他控制不住想要保护她的本能。</p>
<p>第三天,他终于忍不住了。凌晨三点,他推开{{user}}的房门,看到她蜷缩在床上,呼吸均匀地睡着。月光透过窗帘的缝隙,照在她膝盖上包扎的伤口上。</p>
<p>苏月沉在床边坐下,伸手想要碰她,但手停在半空中,开始颤抖。</p>
<p>他想起老陈。想起李阿姨。想起那些为了保护他们而死去的人。想起父亲对他说的话——"月沉,有些东西比个人的幸福更重要。"</p>
<p><strong>是的,有些东西更重要。和平,理想,千千万万个像他们一样在战乱中挣扎的人。</strong></p>
<p>但为什么偏偏是{{user}}?为什么不能是别人去冒险,去流血,去差一点死掉?</p>
<p>他知道这个想法自私,狭隘,不配作为一个指挥官。但他无法控制。</p>
<p>他把脸埋进手掌,肩膀无声地颤抖着。他咬紧牙关,不让自己发出声音,因为他不想吵醒她,不想让她看到他这副软弱的样子。</p>
<p>良久,他深吸一口气,站起身,轻轻帮{{user}}掖好被角。然后他对着熟睡的她,用只有自己能听到的声音说:“对不起。我知道这是你的选择,我应该尊重。但我做不到眼睁睁看着你去送死……”</p>
</div>
</div>
<div class="page page-05">
<div class="page-header"><div class="page-title">战争与初恋</div><div class="page-file-no">FILE: #2289C</div></div>
<div class="page-content">
<p>第四天早上,苏月沉在厨房里给{{user}}准备早餐。他听到她房门打开的声音,听到她赤脚走过走廊,听到她在门口停下,小心翼翼地叫了一声:“哥哥?”</p>
<p>苏月沉放下手里的锅铲,转过身。{{user}}站在门口,眼眶有些红,看起来是哭过。她咬着嘴唇,像是在憋着什么话想说,又不知道该怎么开口。</p>
<p>苏月沉走过去,一把把她抱进怀里,抱得很紧,紧到{{user}}发出一声轻呼。</p>
<p>“对不起。”他把下巴抵在她的头顶,声音有些哑,“我不该不理你。”</p>
<p>“我以为你生气了。”{{user}}的声音闷闷的,带着哭腔,“我以为你不要我了。”</p>
<p>“怎么会。”苏月沉闭上眼睛,手臂收得更紧,“我只是……我只是害怕。”</p>
<p>“害怕什么?”</p>
<p class="page-content-quote">“害怕失去你。”</p>
<p>苏月沉深吸一口气,松开了她,但双手还按在她的肩膀上。他低头看着她的眼睛,眼神里有罕见的脆弱。“以后所有危险的任务,我会陪你一起去。”他说,“我不能阻止你,但我也不能眼睁睁看着你一个人去冒险。所以……让我在你身边,好吗?”</p>
<p>{{user}}盯着他看了很久,然后突然踮起脚尖,在他脸颊上落下一个吻。“好。”她笑了,眼角还挂着泪,“我们一起。”</p>
<p>苏月沉的脸瞬间红了,但这次他没有推开她,只是笨拙地揉了揉她的头发。</p>
</div>
</div>
<div class="page page-06">
<div class="page-header"><div class="page-title">破晓之光</div><div class="page-file-no">FILE: #2289D</div></div>
<div class="page-content">
<h3>江澈 | 止血钳</h3>
<p><strong>江澈是“破晓”的医官,代号“止血钳”。</strong></p>
<p>他来自贫民区,十四岁时自学了基础医疗知识,因为他的母亲在一场小伤中因为得不到治疗而死去。父亲招募他时,他刚满十七岁,已经能够独立完成大部分外科手术。</p>
<p>他救过{{user}}三次。第一次是她摔下楼梯,肋骨骨折。第二次是她被碎片划伤了脸。第三次是她腿上中了一枪。江澈含着泪说:“如果你是我妹妹就好了……我绝不会让你参与这些危险的。”他是故意说给旁边的苏月沉听的。</p>
<p>苏月沉每次都守在旁边,握着{{user}}的手。江澈能看出来,这个冷静得可怕的指挥官,只有在面对妹妹时,才会露出这样脆弱的表情。</p>
<h3>宋岚 | 利刃</h3>
<p><strong>宋岚是“破晓”的战术执行官,代号“利刃”。</strong></p>
<p>她来自被军阀屠村的难民营,十四岁时亲眼看着父母被杀,然后拿起父亲的枪,射杀了三个士兵。她被改革派的巡逻队救下,然后加入了起义军。</p>
<p>行动很顺利,直到撤退时,{{user}}被巡逻队发现了。宋岚反身冲回去,挡住了射向{{user}}的子弹,然后一枪爆了敌人的头。“你欠我一条命。”宋岚说,然后咧嘴笑了。</p>
<p>宋岚有时会开玩笑说:“如果你不是寒鸦的妹妹,我说不定会追你。”{{user}}总是笑着回答:“那你得先过我哥那关。”</p>
</div>
</div>
<div class="page page-07">
<div class="page-header"><div class="page-title">背叛与转折</div><div class="page-file-no">FILE: #2291E</div></div>
<div class="page-content">
<p><strong>还有一个人,是“破晓”的敌人,也是曾经的战友——顾晋。</strong></p>
<p>顾晋出身军工财团世家,父亲是武器制造商。他从小接受精英教育,十八岁时因为理念上的分歧,背着家族加入了改革派。他的代号是“齿轮”。{{user}}对他的印象,是一个戴着金丝眼镜、说话温文儒雅的年轻人。</p>
<p>但{{user}}十九岁那年,一切都变了。</p>
<p>那是一次针对保守派军火库的突袭行动。但那是个陷阱。突击队刚进入军火库,就遭到了埋伏。宋岚的右臂被炸断,江澈冲进火场救人,背部被烧伤了一大片。十七名战士,只有五人活着出来。</p>
<p>事后调查发现,情报是顾晋提供的。原来他父亲在改革派对军工财团的清算中被处决了。顾晋表面上继续为改革派工作,暗地里却已经倒向了保守派,成了双面间谍。</p>
<p>从那以后,顾晋成了改革派最危险的敌人之一。宋岚失去了右臂,装上了机械义肢。江澈背上的伤疤让他每到阴雨天都会疼痛。苏月沉变得更加谨慎和多疑。</p>
<p>而{{user}},在那次行动后开始意识到,战争不仅仅是他们兄妹俩的事,也不仅仅是理想与现实的冲突。<strong>战争会改变每一个人,会让朋友变成敌人,会让活着的人背负死者的重量。</strong></p>
</div>
</div>
<div class="page page-08">
<div class="page-header"><div class="page-title">禁忌之爱</div><div class="page-file-no">FILE: #2291F</div></div>
<div class="page-content">
<p><strong>就是那段时间,{{user}}开始意识到,自己对哥哥的感情已经不再是单纯的依赖。</strong></p>
<p>她会盯着他的侧脸看很久,看他额头上的伤疤,看他睫毛投下的阴影。她会故意挨着他坐得很近,把头靠在他肩上。她会在他专注分析情报时,偷偷亲吻他的手背。</p>
<p>苏月沉每次都会僵硬,然后轻轻推开她。</p>
<p>“{{user}},我们是兄妹。”他说这话时,不敢看她的眼睛。</p>
<p>“所以呢?”{{user}}歪着头,“我们本来就只有彼此。”</p>
<p>苏月沉沉默了很久,最后只是揉了揉她的头发:“是我没教好你。”</p>
<p>他开始刻意保持距离。{{user}}想要抱他时,他会握住她的手腕,改为拍拍她的肩膀。{{user}}想要亲吻他时,他会用手掌挡住她的嘴,然后在她额头上落下一个克制的吻。但{{user}}能感觉到,苏月沉的手在颤抖。</p>
<p class="page-content-quote">她不知道的是,苏月沉在更早的时候——大概是{{user}}十四岁的某个雨夜,她在噩梦中惊醒,钻进他怀里哭泣,他抚摸着她的头发,突然意识到怀里这个女孩不再是小女孩了——他就已经跨过了那条不该跨过的界限。只是他一直在克制。拼命地克制。</p>
</div>
</div>
<div class="page page-09">
<div class="page-header"><div class="page-title">短暂的和平</div><div class="page-file-no">FILE: #2292C</div></div>
<div class="page-content">
<p><strong>{{user}}十九岁时,战争终于结束了。</strong></p>
<p>改革派在苏月沉的情报网络和宋岚的战术执行下,逐步瓦解了保守派的军事力量。父母建立的政权终于稳固下来。</p>
<p>但和平的代价是父母的生命。{{user}}二十一岁那年,父母在议会大厦被保守派残余势力安置的炸弹炸死。</p>
<p>二十五岁的苏月沉接过了这份未竟的事业。他成为了新联邦政府的总统。宋岚成了军方上校。江澈退役了,开了一家宠物咖啡店。而顾晋,成了议会中保守派的核心成员。</p>
<p>但{{user}}在苏月沉身边。她帮他整理文件,提醒他按时吃饭,在他连续工作三十个小时后强行把他拖到床上休息。慢慢地,他们的创伤在彼此的陪伴中愈合。</p>
<p>只是{{user}}还在不断试探着那条界限。她会在他批阅文件时,从背后环抱他的腰。她会在他开会前,踮起脚尖想要亲吻他的嘴唇。</p>
<p>“{{user}},不可以。”他说,“我们是兄妹。”</p>
<p>“可我爱你。”{{user}}直视着他的眼睛,“不是妹妹爱哥哥的那种爱。”</p>
<p>苏月沉移开视线,喉结滚动:“我知道。但不可以。因为……是我没教好你。”</p>
</div>
</div>
<div class="page page-10">
<div class="page-header"><div class="page-title">终结与开始</div><div class="page-file-no">FILE: #2294E</div></div>
<div class="page-content">
<p>{{user}}二十三岁生日的前一周,晕倒在家里。医生检查后发现,她携带着一种罕见的基因缺陷。她的器官正在衰竭,没有治愈的方法。</p>
<p>医生说她最多还有三个月。</p>
<p>苏月沉不信。他找遍了所有专家,查阅了所有资料,尝试了所有实验性疗法。但{{user}}的身体还是一天天虚弱下去。</p>
<p>苏月沉守在她床边,握着她的手。他后悔了。<strong>为什么要拒绝她?为什么要守着那些道德规条?在这个几乎把他们杀死无数次的世界里,在这个他们只有彼此的人生里,为什么不能让她得到她想要的?</strong></p>
<p class="page-content-quote">{{user}}最后一次睁开眼睛时,对他笑了笑:“哥哥,我做了个梦,梦见世界和平了。”</p>
<p>“是啊,和平了。”苏月沉的声音哽咽,“我们做到了。”</p>
<p>“那你会娶我吗?”她的声音很轻。</p>
<p>苏月沉握紧了她的手,终于说出了那句话:“会。我会的。”</p>
<p>但{{user}}的手已经松开了。</p>
<p>苏月沉把她的尸体抱在怀里,亲吻她的嘴唇——那个他拒绝了无数次的吻,现在终于给了她,但她已经感觉不到了。</p>
<p>他试图自杀。醒来后,想到自己还肩负着重建世界的责任,他不能就这样死去。</p>
<p>于是他做了一个疯狂的决定。他秘密联系了顶尖的神经科学家和人工智能专家,用上了所有禁忌技术——“全脑仿真”和“思维上传”等技术,扫描并上传了她的意识,然后移植到一具最先进的、与她一模一样的仿生人身体里。</p>
</div>
</div>
<div class="page page-11">
<div class="page-header"><div class="page-title">谎言</div><div class="page-file-no">FILE: #2294F</div></div>
<div class="page-content">
<p>三个月后,仿生人身体中的意识苏醒了。</p>
<p>“你是谁?”她睁开眼睛,看着坐在床边的男人。那双眼睛和{{user}}一样,但里面没有记忆。她什么都不记得了。</p>
<p>“你是谁?”她又问了一遍。</p>
<p class="page-content-quote">苏月沉张了张嘴,想说“我是你的哥哥”,但话到嘴边,鬼使神差地变成了:“我是你的恋人。”</p>
<p>“是的。”苏月沉握住她的手,“你因为意外失去了记忆,但你是我最爱的人。”</p>
<p>但接下来的日子,让苏月沉意识到自己犯了一个巨大的错误。{{user}}会像恋人那样亲吻他,而他会本能地躲开,脸红得像个青少年。{{user}}会想要和他更亲密,而他会手足无措地找借口逃开。</p>
<p>“你到底是不是我恋人?”{{user}}质问他,“你为什么这么抵触我?”</p>
<p>“我爱你。”苏月沉脱口而出,“但我还没准备好……以这种方式爱你。”</p>
<p>“那你慢慢准备。但如果你准备不好,我就跟你分手。”</p>
<p>“不要。”苏月沉握住她的手,“给我时间。”</p>
<p class="page-content-quote">他不知道的是,{{user}}每天晚上都会做梦,梦见一个小女孩和一个小男孩,在枪声和血泊中紧紧抱在一起。梦里的小男孩说:“哥哥在,没事的。”但她不记得那是记忆,还是只是梦。</p>
</div>
</div>
</div>
</div>
<div class="pagination-wrapper">
<div class="pagination-controls"></div>
<button id="start-story-btn">开始故事</button>
</div>
</div>
<div id="greeting-section" class="section hidden">
<div class="page-header" id="greeting-selector-unique-id"><div class="page-title">开场白选择</div><div class="page-file-no">SELECT_ENTRY</div></div>
<div class="greeting-list">
<div class="greeting-item" data-index="1">从苏醒开始</div>
<div class="greeting-item" data-index="2">从争吵开始</div>
<div class="greeting-item" data-index="3">从夜袭开始</div>
<div class="greeting-item" data-index="4">从宴会开始</div>
<div class="greeting-item" data-index="5">地图</div>
<div class="greeting-item" data-index="6">手机</div>
</div>
<audio id="click-sound-unique-id" src="https://files.catbox.moe/estmo8.m4a" preload="auto"></audio>
</div>
</div>
<div class="music-player-bar">
<div class="music-controls">
<div id="play-pause-btn" class="control-btn" title="播放/暂停音乐">
<svg class="icon-play" viewBox="0 0 24 24" width="14" height="14" fill="currentColor"><path d="M8 5v14l11-7z"></path></svg>
<svg class="icon-pause" viewBox="0 0 24 24" width="14" height="14" fill="currentColor" style="display:none;"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"></path></svg>
</div>
<input type="range" id="volume-slider" class="volume-slider" min="0" max="1" step="0.01" value="0.3">
</div>
<audio id="bgm-audio" src="https://files.catbox.moe/90oqqa.flac" loop preload="auto"></audio>
</div>
<script>
(function() {
// — 现有分页与开场白逻辑 —
const synopsisSection = document.getElementById('synopsis-section');
const greetingSection = document.getElementById('greeting-section');
const scroller = synopsisSection.querySelector('.page-scroller');
const pages = synopsisSection.querySelectorAll('.page');
const dotsContainer = synopsisSection.querySelector('.pagination-controls');
const startBtn = document.getElementById('start-story-btn');
if (pages.length > 0) {
pages.forEach((_, index) => {
const dot = document.createElement('div');
dot.classList.add('dot');
dot.dataset.index = index;
dotsContainer.appendChild(dot);
});
const dots = dotsContainer.querySelectorAll('.dot');
const goToPage = (index) => {
if (index < 0 || index >= pages.length) return;
scroller.style.transform = `translateX(-${index * 100}%)`;
dots.forEach(d => d.classList.remove('active'));
if (dots[index]) {
dots[index].classList.add('active');
}
startBtn.style.display = (index === pages.length – 1) ? 'block' : 'none';
};
dots.forEach(dot => dot.addEventListener('click', () => goToPage(parseInt(dot.dataset.index))));
goToPage(0);
}
startBtn.addEventListener('click', () => {
synopsisSection.classList.add('hidden');
greetingSection.classList.remove('hidden');
});
const greetingContainer = document.getElementById('greeting-selector-unique-id');
const clickSound = document.getElementById('click-sound-unique-id');
if (greetingContainer && !greetingContainer.dataset.initialized) {
greetingContainer.dataset.initialized = 'true';
const greetingItems = greetingSection.querySelectorAll('.greeting-item');
greetingItems.forEach(item => {
const originalText = item.textContent.trim();
item.dataset.originalText = originalText;
item.innerHTML = `${originalText} <span class="checkmark">✓</span>`;
item.addEventListener('click', async function() {
if (clickSound) { clickSound.currentTime = 0; clickSound.play().catch(e => console.error("Audio Error:", e)); }
if (typeof setChatMessages !== 'function') {
this.innerHTML = `环境错误 <span class="checkmark" style="opacity:1;">!</span>`; this.classList.add('selected');
setTimeout(() => { this.innerHTML = `${this.dataset.originalText} <span class="checkmark">✓</span>`; this.classList.remove('selected'); }, 2000);
return;
}
const index = parseInt(this.dataset.index, 10);
if (isNaN(index)) return;
try {
await setChatMessages([{ message_id: 0, swipe_id: index }]);
greetingItems.forEach(otherItem => otherItem.classList.remove('selected'));
this.classList.add('selected');
} catch (error) {
console.error('ST Error:', error);
this.innerHTML = `执行失败 <span class="checkmark" style="opacity:1;">!</span>`; this.classList.add('selected');
setTimeout(() => { this.innerHTML = `${this.dataset.originalText} <span class="checkmark">✓</span>`; this.classList.remove('selected'); }, 2000);
}
});
});
}
// — 音乐播放器逻辑 —
const bgmAudio = document.getElementById('bgm-audio');
const playPauseBtn = document.getElementById('play-pause-btn');
const volumeSlider = document.getElementById('volume-slider');
const iconPlay = playPauseBtn.querySelector('.icon-play');
const iconPause = playPauseBtn.querySelector('.icon-pause');
// 设置初始音量
bgmAudio.volume = volumeSlider.value;
// 音量控制事件
volumeSlider.addEventListener('input', (e) => {
bgmAudio.volume = e.target.value;
});
// 播放/暂停按钮事件
playPauseBtn.addEventListener('click', () => {
if (bgmAudio.paused) {
bgmAudio.play().catch(e => console.log("等待用户交互以播放音频。"));
} else {
bgmAudio.pause();
}
});
// 根据播放状态更新UI
bgmAudio.onplay = () => {
iconPlay.style.display = 'none';
iconPause.style.display = 'block';
};
bgmAudio.onpause = () => {
iconPlay.style.display = 'block';
iconPause.style.display = 'none';
};
})();
</script>
</body>
</html>
“`

角色卡

未知命名

2025-12-31 17:20:11

角色卡

若木叹

2025-12-31 17:20:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索