她的手指碰到了显示器的边框。
金属是冰的。
她把手指按在屏幕上。
屏幕上的镜像是冷的。不是金属那种物理意义上的冷,是一种从代码内部渗出来的、不携带任何温度的冷。像你把手放在一扇通往冬天的窗户上,玻璃本身不产生寒意,寒意来自窗外的那个世界。
她的手指在屏幕上划过。
镜中她的脸被手指的拖拽拉出一道涟漪,像水面被投入石子的瞬间。涟漪扩散开来,那个标准笑容被搅碎成无数细小的光点,在屏幕的像素矩阵里四散奔逃。
然后她按住了屏幕里自己的左眼。
“第一条规则是‘晚上10点后不要照镜子’。”她说。
声音稳定下来了。不是力气的恢复,是她终于摸到了这张网的结构,摸到了每一根丝线的走向。
“你说为什么是‘晚上10点后’?”
屏幕里的镜像开始震颤。
不是刚才那种像素偏移——是整体性的震颤,像一面镜子在被敲击的边缘。
“因为白天的时候,窗户有光。玻璃会反射外面的世界。”
“但到了晚上,玻璃不再是一扇窗户。”
“它会变成一面镜子。”
她的手指在屏幕上的左眼位置按下去。
更用力了。
“你不是鬼。”
“你是一个视觉BUG。”
“你只存在于显示介质里。”
“镜子、玻璃、水面、屏幕——”
“任何能反射的平面,都是你的载体。”
“但载体不是无限的。”
她弯下腰,把脸凑近屏幕。
近到鼻尖几乎触碰到屏幕里的那个自己。
近到她能看见镜中那双和自己一模一样的眼睛里——有一个像素点,在反复地、无意义地、像死循环一样地闪烁。
“你在复制我的视觉信息。”她说,声音轻得像在自言自语,“你看到我,你复制我。我越看你,你复制得越精确。”
“这就是为什么规则说‘不要照镜子’。”
“不是怕我看到你。”
“是怕我让你——看得太清楚。”
她的右手从屏幕上移开。
但她没有后退。
她转过头,看向办公桌旁边的磨砂玻璃隔断。
磨砂玻璃是半透明的。
日光灯的光穿过磨砂层,变成一片均匀的、没有焦点的乳白色柔光。那片玻璃什么都映不出来——看不见她的脸,看不见办公室的倒影,看不见任何可以被称为“镜像”的东西。
因为磨砂玻璃把所有的光都打散了。
光不再按照入射角等于反射角的规律飞行。它们撞在凹凸不平的表面,向四面八方散射,没有一束光能够完整地回到它来的方向。
没有完整的光路。
就没有镜像。
没有镜像。
就没有载体。
林昭盯着那片磨砂玻璃。
然后她把手按了上去。
“你在复制我的时候,”她说,“用的是一套行为脚本,对吧?”
“脚本里写好了‘林昭应该有的表情’‘林昭应该说的话’‘林昭应该做的动作’。”
“但脚本总有边界。”
“脚本写了‘林昭看到镜子时的反应’,写了‘林昭看到另一个自己时的反应’——”
“但脚本没有写——”
她的手在磨砂玻璃上用力一推。
玻璃隔断晃动了一下。
“——如果林昭不看镜子,看毛玻璃。”
“你会怎么样?”
办公室里所有的灯都灭了。
不是一盏一盏灭,是同时灭。像有人拔掉了整层楼的电源总线。日光灯管里残留的荧光粉还在发着微弱的、正在快速衰减的余光,把整个空间拖进一片暗绿色的、像深海一样的幽暗里。
只有显示器还亮着。
屏幕上,那个和她一模一样的脸正在崩溃。
不是“裂开”那种有戏剧效果的崩溃,是一种更安静的、更彻底的崩溃——像一个渲染到一半被强行终止的3D模型,纹理图层一层一层地剥落,多边形网格从边缘开始瓦解,露出下面的线框、顶点、和空白的灰模。
脸没了。
然后是肩膀,是手臂,是上半身。
最后只剩下一个轮廓。
一个由无数发光线段勾勒出来的人形轮廓,孤零零地坐在黑色转椅上,像一个被从游戏中删除角色后残留在缓存里的幽灵模型。
林昭看着那个轮廓。
轮廓也在看她——如果那堆线段还有“看”这个功能的话。
日光灯管的余光彻底熄灭了。办公室陷入完全的黑暗。只有显示器的冷光打在她脸上,把她的五官切成明暗分明的两半。她的眼睛在屏幕光的映照下亮得惊人,瞳孔深处有什么东西在燃烧——不是愤怒,不是恐惧,是一种比两者都更炽烈的、更持久的东西。
猎人终于把猎物逼进死角时的专注。
“你不该让我看到屏幕的。”
她对着黑暗中的那个轮廓说。
“更不该让我看到代码。”
“最不该让我看到那行TODO。”
她伸手,摸到了显示器的电源键。
不是要按下去。
是在等。
等那个轮廓做最后一件事。
它做了。
黑暗中,显示器的右下角弹出一行小字。不是代码窗口里的系统日志,是一个独立于所有程序之外的、浮在屏幕最上层的提示框。白底黑字,没有任何装饰,像Windows系统最早的对话框。
「规则碎片·视觉」
「已获取」
「效果:你可以看见规则的边界」
林昭看着那行字。
看了三秒。
然后她按下了电源键。
屏幕暗了。办公室彻底沉入黑暗。没有光,没有声音,没有那个和她一模一样的轮廓。只有她自己的呼吸声,在黑暗中一起一伏,像潮水拍打礁石,缓慢,沉重,不可阻挡。
她在黑暗中站了很久。
然后她的左手腕亮了一下。
幽蓝色的光从袖口透出来。她把袖子拉上去,看见那串倒计时还在跳动。
68:21:47。
下面多了一行小字。
字号比倒计时小很多,颜色也不是幽蓝,是一种更暗的、接近铁锈的红色。如果不仔细看,会以为那是皮肤下毛细血管映出来的颜色。
但林昭仔细看了。
她看见那行小字写的是:
「碎片持有者编号:唯一」
「权限级别:未定义」
「备注:该碎片创建于三年前。创建人——」
最后一个字被一片突然亮起的光吞没了。
不是显示器的光。
是天花板上的日光灯管。所有灯管同时亮起,白炽光像洪水一样灌满整间办公室。骤然从黑暗切换到强光,林昭条件反射地闭了一下眼睛。
再睁开的时候,办公室变了。
磨砂玻璃隔断还在。灰白色办公桌还在。黑色转椅还在。绿萝还在。
但工位上的那个人没了。
转椅空空荡荡,椅背上搭着一件米白色的空调衫——她的空调衫,三年前留在这间办公室里没有带走的那件。针织面料,袖口有点起球,左肩上有一小块洗不掉的咖啡渍。
她记得那块咖啡渍。
是沈渡川递咖啡给她的时候洒的。那天他们在争论一个伦理框架的问题,他激动了,手一抖,咖啡泼在她肩上。他一边道歉一边找纸巾,她说不碍事,然后那件空调衫就搭在椅背上,从那天起再也没穿过。
空调衫还在。
人没了。
林昭走向那张椅子。她的手伸出去,指尖触碰到那件空调衫的袖口。面料冰凉,带着中央空调送风口吹出来的那种循环风的温度。
她把袖子翻过来。
袖口内侧,用黑色的线绣着一个字母。
L。
不是机绣。是手缝的。针脚不太整齐,起针和收针的地方有线头没有剪干净。
这是沈渡川绣的。
她记得。有一天下班后,整层楼只剩他们两个人。沈渡川路过她工位,看见她拿着针线笨拙地缝袖口上崩开的线。他叹了口气,说你这个拿手术刀都缝不好血管的人,让我来。然后他接过针线,缝了一个L,说这样以后空调衫跟别人的混了也能认出来。
她把那个L缝反了。
沈渡川说你连字母都分不清正反?
她说我分得清,只是缝的时候忘了镜像。
忘了镜像。
林昭的手指猛地收紧,把那件空调衫攥出了褶皱。
日光灯管的光落在她脸上。她的表情没有变化,但瞳孔深处有什么东西在剧烈地收缩——不是恐惧,是一种比恐惧深得多的、从骨头缝里渗出来的东西。
三年前。
镜像。
规则碎片。
创建人是她。
代码里的TODO。
沈渡川绣的L。
L的反面是什么。
是?。一个不存在的字母。
一个镜子里才会出现的字母。
她把空调衫翻过来。
对着日光灯的光。
那个L在逆光下变成透明的轮廓,像一个没有被填满的伤口。光线穿过针脚之间的缝隙,在天花板上投下一个模糊的影子。
影子里的字母是正的。
因为镜子翻转了两次。
一次是绣的时候。
一次是看的时候。
两次翻转,等于没有翻转。
等于真相。
林昭把空调衫叠好,放进外套内侧的口袋里。动作很慢,很仔细,像在做一件仪式。然后把拉链拉上,把那个L贴在心脏的位置。
办公室开始褪色。
不是比喻意义上的褪色——是物理意义上的。墙壁的颜色从灰白变成灰,从灰变成雾,从雾变成透明。磨砂玻璃隔断像糖溶于水一样无声地消解。绿萝最后一片叶子的绿色抽离成灰白。日光灯管的光不再是从某一个点发出,而是从四面八方同时涌来,没有方向,没有阴影,没有任何可以定位的参照物。
像一个正在被关闭的程序窗口。
林昭站在这个正在消失的空间中央,左手腕上的倒计时还在跳动。
日光灯管最后一缕光暗下去之前,她看见办公桌的抽屉拉开了一条缝。
抽屉里有一个东西。
一个不应该出现在那里的东西。
一个手机。
屏幕亮着。
上面是一条草稿箱里没有发送的短信。
收件人是她的旧号码。
发送时间是三年前。
发送人:沈渡川。
短信内容只有四个字:
「别相信镜」
第四条没有写完。
光灭了。
所有东西都消失了。
林昭站在一片虚空里。没有上下,没有左右,没有前后。只有她自己的呼吸声,和手腕上那串幽蓝色的数字,在黑暗中一下一下地跳动。
68:14:22。
68:14:21。
68:14:20。
然后黑暗中浮现出一行字。
冷白色的,像日光灯管的余烬:
「副本结算中……」
「幸福小区·已完成」
「规则碎片获取:视觉」
「隐藏线索获取:1/7」
「下一副本载入倒计时:23:59:59」
字迹暗下去。
新的光从脚下亮起来。不是日光灯那种冷白色,是一种更暖的、更旧的光,像老式绿皮火车窗外的夕阳。
她听见了铁轨的声音。
哐当。哐当。哐当。
节奏越来越快。
一扇门在她面前浮现。锈迹斑斑的金属门,门把手上挂着一个木牌,木牌上用红漆写着:
「废土列车·第37次班次」
「规则如下:」
「1. 每站必须投票放逐一人。」
「2. 被放逐者将在下一站下车。」
「3. 车上永远保持满员。」
「4. 列车长永远不会错。」
「5. 终点站是——」
第五条规则的最后几个字被一块暗红色的污渍盖住了。不是油漆,不是墨水。林昭认得那种颜色。
是血。
干涸了很久的血。
她伸出手,推开了那扇门。