@import url('https://fonts.googleapis.com/css2?family=Nixie+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
:root {
--body-bg: 225, 225, 225;
--content-bg: var(--global-white-color);
--bg-opacity: 0.9;
--extra-bg-1: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-bg-2: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-bg-3: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-opacity-1: 0.15;
--extra-opacity-2: 0.05;
--extra-opacity-3: 0.05;
--topbar-hover-bg: var(--dark-ui-bg), 0.2;
--topbar-hover-txt: var(--light-ui-txt);
--user-drop-txt: var(--dark-ui-txt);
--bottombar-bg: var(--dark-ui-bg);
--bottombar-txt: var(--dark-ui-txt);
--header-title: "Backrooms";
--banner-title: "BACKROOMS";
--banner-subtitle: "当色彩褪去的时候";
--header-height: 3rem;
--topbar-height: 2.5rem;
--dropdown-height: var(--topbar-height);
--banner-height: 25rem;
--header-ui-size: 3rem;
--header-title-size: 1.8rem;
--topbar-size: clamp(0.8rem, calc(0.4rem + 0.8vw), 1.2rem);
--banner-title-size: clamp(2rem, calc(2rem + 3.5vw), 6rem);
--banner-subtitle-size: 1rem;
--banner-font: "Nixie One", "Noto Serif SC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, serif;
--header-font: var(--banner-font);
--title-font: "Outfit", "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif;
--body-font: "Atkinson Hyperlegible", "Noto Sans SC", "Noto Sans TC", Arimo, Verdana, Geneva, sans-serif;
--ui-font: "Outfit", "Noto Sans SC", "Noto Sans TC", Arimo, Verdana, Geneva, sans-serif;
}
#extra-div-1 {
position: fixed;
width: 100%;
height: 25vh;
bottom: 0;
left: 0;
z-index: -1;
background-image: var(--extra-bg-1);
background-size: 20rem;
background-repeat: repeat-x;
background-position: center;
opacity: var(--extra-opacity-1);
}
#extra-div-2 {
position: fixed;
width: 100%;
height: 50vh;
bottom: 0;
left: 0;
z-index: -2;
background-image: var(--extra-bg-2);
background-size: 40rem;
background-repeat: repeat-x;
background-position: center;
opacity: var(--extra-opacity-2);
}
#extra-div-3 {
position: fixed;
width: 100%;
height: 100vh;
bottom: 0;
left: 0;
z-index: -3;
background-image: var(--extra-bg-3);
background-size: contain;
background-repeat: repeat-x;
background-position: bottom;
opacity: var(--extra-opacity-3);
}
#container {
display: grid;
grid-template-columns: minmax(var(--sidebar-width), 1fr)auto 1fr;
grid-template-rows: auto auto auto auto;
}
#extrac-div-1 {
grid-column: 2 / 3;
grid-row: 1 / 2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--banner-font);
font-weight: 200;
width: 100%;
height: var(--banner-height);
color: rgb(var(--header-txt));
order: -1;
}
#extrac-div-1::before {
content: var(--banner-title);
font-size: var(--banner-title-size);
}
#extrac-div-1::after {
content: var(--banner-subtitle);
font-size: var(--banner-subtitle-size);
}
#header {
grid-column: 1 / 2;
grid-row: 1 / 3;
min-width: var(--sidebar-width);
width: 100%;
height: fit-content;
grid-template-columns: var(--header-ui-size) 1fr auto auto;
grid-template-rows: var(--header-ui-size) calc(var(--banner-height) - var(--header-ui-size)) auto;
top: calc(0px - var(--banner-height));
order: -2;
}
#search-top-box {
grid-column: 3 / 4;
position: fixed;
right: var(--header-ui-size);
backdrop-filter: blur(1rem);
}
#login-status {
grid-column: 4 / 5;
position: fixed;
right: 0;
backdrop-filter: blur(1rem);
}
#header h1 {
grid-column: 2 / 3;
grid-row: 1 / 2;
height: var(--header-height);
position: static;
}
#header h1 a {
justify-content: flex-start;
padding: 0;
padding-left: 0.5rem;
transition: padding var(--global-duration);
}
#header h1 a:is(:hover, :focus) {
padding-left: 1rem;
transition: padding var(--global-hover-duration);
}
#header h2 {
display: none;
}
#header-extra-div-1 {
display: none;
}
#top-bar {
grid-column: 1 / 5;
grid-row: 3 / 4;
height: auto;
}
#top-bar > div > ul {
flex-direction: column;
height: auto;
margin-right: 0;
}
#top-bar > div > ul > li {
flex-basis: unset;
height: var(--topbar-height);
}
#top-bar > div > ul > li > a {
justify-content: flex-end;
padding: 0 1rem;
}
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
top: 0;
left: 100%;
width: 24em;
max-width: max-content;
min-width: auto;
flex-direction: row;
flex-wrap: wrap;
}
#top-bar > div > ul > li > ul > li {
width: 10em;
flex-grow: 1;
}
#top-bar > div > ul > :is(li, li:hover, li:focus, li.sfhover, li:focus-within) > ul > li > a {
box-sizing: border-box;
}
#content-wrap {
display: contents;
}
#side-bar {
max-height: unset;
overflow-y: auto;
border: unset;
box-shadow: 0 0 1.5rem -1rem rgb(var(--global-dark-color));
}
#side-bar::after {
backdrop-filter: blur(1rem);
}
#main-content {
grid-column: 2 / 3;
grid-row: 2 / 3;
min-height: 100vh;
box-sizing: border-box;
margin: 0 auto 15vh;
padding: 1.5rem;
box-shadow: 0 0 2.5rem -1rem rgb(var(--global-dark-color));
position: relative;
background: rgba(var(--content-bg), var(--bg-opacity));
}
#main-content::after {
content: "你曾经来过这里.";
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 10vh;
color: rgb(var(--header-txt));
font-family: var(--banner-font);
font-weight: 200;
}
#page-title {
padding: 0;
}
:is(blockquote, .blockquote, div.blockquote, [class*=blockquote]) {
padding: 0.5rem 1rem;
border-width: 0 0 0 0.3rem;
background: rgba(var(--light-block-bg), 0.4);
}
#page-options-container {
font-family: var(--ui-font);
}
#footer {
grid-column: 1 / 4;
grid-row: 3 / 4;
box-sizing: border-box;
justify-content: flex-end;
margin-top: 0.5rem;
border: unset;
}
#license-area {
grid-column: 1 / 4;
grid-row: 4 / 5;
padding: 0.5rem;
justify-content: flex-end;
}
#license-area a {
color: rgb(var(--global-pale-color));
}
@media only screen and (max-width: 1024px) {
#container-wrap {
perspective-origin: 49.5% 5rem;
}
#container {
display: flex;
}
#header {
min-width: var(--sidebar-width);
grid-template-columns: var(--header-ui-size) 1fr auto auto;
grid-template-rows: var(--header-ui-size) auto auto;
top: 0;
width: initial;
position: static;
}
#content-wrap {
display: block;
margin: 0;
}
#login-status {
position: relative;
backdrop-filter: unset;
}
#search-top-box {
position: static;
backdrop-filter: unset;
}
#login-status #account-options {
left: initial;
right: 0;
}
#top-bar > div > ul {
flex-direction: row;
margin-right: auto;
}
#top-bar > div > ul > li {
flex-basis: min-content;
}
#top-bar > div > ul > li > a {
justify-content: center;
padding: 0;
}
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
top: 100%;
left: 0;
width: auto;
flex-direction: column;
}
#top-bar > div > ul > li:last-of-type > ul {
left: initial;
right: 0;
}
#top-bar > div > ul > li > ul > li {
width: 100%;
flex-grow: 1;
}
}
@media only screen and (max-width: 768px) {
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
flex-direction: row;
}
#top-bar > div > ul > li > ul > li {
width: 50%;
}
}
我走进总署大楼,找到了自己的办公室,坐了下来。然后点上一枝烟静静地思考着最近的几起凶杀案的细节。
近几年,后室的情况逐渐稳定下来,总署在各大宜居层级建立了许多大规模生存区,人们渐渐的远离了实体的威胁。现在,除了少部分流浪者被总署派去探索一线外,大部分流浪者都过上了相对安定的生活。当然,安定也是相对的。这里的资源毕竟短缺,毕竟还是偶尔有一两只实体“刷新”出来,不是吗?一个没有秩序的社会终究会垮掉的,宜居区的恶性杀人案时不时的发生,就比如最近这几起……
倘若今天内还没有侦破,势必会影响我署的形象和社区的稳定。烟雾弥漫在了整个办公室,想到这里,我不禁头疼了起来。
久之,我想到了一个人……
我脱下工作服,换上了一身便装,带上了几瓶白兰地走进了某个巷子里。走了不知道多久,我停在一处破败的不能再破的老建筑中,我核对了一下门牌号,应该和我印象里的差不多。随后,我敲了敲门……
门内没有应答,我以为他没有听见,于是敲门的力度更大了一点。
门还是没开……
就在我考虑破门而入之时,门终于开了。面前浮现出一张苍白的脸,归属于我挚友,卡文迪许的那张脸。但此刻,却让我感到熟悉又陌生。
“好久不见了。”我向他问候。
“两年了,那确实挺久的了。”他语气停顿了一会儿,“我是不是早就告诉过你不要再找我了。”
“除了你,没人能帮我了。”我回答道。
但他并没有回答,沉默了一会儿,转身走进屋内,没有关门。我明白他的意思,他想让我进屋细谈 我随之跟着他走进屋内。
因为是栋老楼,屋内也充满了复古的气息,整体装修风格色调偏暗,家具虽然老旧却异常的整洁,房间处处散发一股木香。我把白兰地打开并放在桌上,他会意的从厨房拿出两个高角白兰地杯,不客气的倒了进去。随后示意我请坐,待我坐下后递给了我一杯,我把酒杯拿在手上,他站在那里,径直把他的酒杯与我的酒杯轻轻碰了一下,有些许酒水洒了出来,甚至还有一些溅在了我的杯里。他说了声抱歉,然后地注视着我的眼睛,我摆摆手示意不在乎,然后与他一起一饮而尽。
喝完之后,我们终于谈起了正事儿。“我手里积压了一些案子,恐怕只有你才能查清楚真相。”
“愿闻其详。”话虽如此,但他注意力依然在酒杯上,咂咂嘴,似乎还在品味白兰地的浓香。
“首先第一案,案发地点就在本层级的一处音乐厅。有几名音乐家精准的相继在不同的演奏会结束后半小时内死亡。且每起案件相隔时间没有规律性,半个月内已经出现了三名死者,没有任何人知道他们是怎么死的。”我说。
“什么时候发生的?”他不紧不慢的问,似乎还没有提起兴趣。
“最近的一起死亡案件就发生在……”我低头看看表,“38小时前。”
听罢,他走到门外的衣帽架上,取下一套风衣,走出门外。我紧随其后,我知道他的秉性,他已经答应接手这起案子。
音乐厅离他的住处并不远,我们一前一后,步行前往。在路上,我的思绪回到了五年前……
那时候,我还是个刚入司法部的警探。经常遇到一些棘手的案子,每当遇到一些难处时,我就会来到这幢破旧的居民楼里,找时任司法部顾问卡文迪许帮忙。他是司法部的明星顾问,但一直都是那么沉默,低调,行事沉稳,感觉任何事都在他的掌控之中。只要和他待在一起,就莫名其妙的使人感到平静……然而两年前不知道是什么原因,他突然辞去了工作,并拒绝让任何人打扰他。从此,我就像是失去了眼睛一样,好在近几年随着经验的增加,也算是比较得心应手,侦破了几起大案,被人誉为新的“卡文迪许”。然而只有我自己知道,我和卡文迪许的差距有多大……
卡文迪许踏入音乐厅时,警方已经拉起了警戒线。第三位钢琴家的尸体刚刚准备被抬走,空气中残留着淡淡的苦杏仁味,混合着木质座椅的松香。他站在舞台中央,黑色风衣的衣摆轻轻晃动,像一片不祥的阴影。
“停下,把尸体放回原位。”他的声音平静却令人信服。
几个探员果然停下了手中的动作,面面相觑,他们这些新来的家伙并不认识他。我走向前去“照他说的做。”
“是,探长!”探员齐声道,把尸体摆在了钢琴旁的地板上。
我把卷宗递给卡文迪许,他看了几眼。同时我继续给他补充道,“全身痉挛而死,但并没有查明导致痉挛的原因,有人怀疑是超自然现象,或者说是某种未知实体……”
他没有回应,放下卷宗,仔细地观察着现场的环境。然后跨过尸体,坐在钢琴前的座椅上,我望着他的背影,只见修长的手指划过琴键,却没有发出一丝声响。
“秋夜安魂曲。”他眼睛盯着散落在地上的乐谱。“凶手是个完美主义者,连暗杀也要配合乐章的节奏。”
我顺着他的目光看去,想起来什么,“对,死者在死前都演奏过秋夜安魂曲。但是……这很重要吗?”
“你知道秋夜安魂曲中经常出现的音调是什么吗?”他问我。
“抱歉,我对音乐一窍不通。”我实话实说。
“降B调低频共振。”他声音很小,不像是在回答我,更多的是在自言自语。
“那是什么?”我不解的问道。
他点了一根雪茄,现场烟雾弥漫,他吸了一口,开口道,“降B6,1975.5赫兹,非常接近人类某些器官固有的震动频率。”
我的大脑飞速运转,“如果你想说的是音乐震动引起共振杀了那三个人,那你的推理是站不住脚的,因为听过秋夜安魂曲的人那么多,为什么只有那三个音乐家死了。”
“因为降B6只能作为死亡的序曲,我推测死者的身体内还有一种毒素,会被降B6的音调触发,那才是高潮。”
“可是之前的两具尸体已经做过检测了,并没有你所谓的毒素。”
“因为凶手使用的毒素过于微量,且在血液循环的过程中非功能部分随汗液挥发出,等到你们抬去检测的时候已经流失干净了。其实还有一小部分,但远非人类水平能够检测的。”他说。
“可是如此微量的毒素,按你所说连检测都无效的级别的量,怎么能毒死一个人。”
他嘴角微微扬起,“所以在正常状态时,它无法致死。”他停顿了一下,继续说到,“如果在特殊状态下呢?”
我依然不明所以。
他摇了摇头,眼神中充满了失望,“杏仁水。”
我恍然大悟,“服用杏仁水会让人体机能处于最佳精神和物理状态。”
他点了点头。
我继续补充,“进而借助秋夜安魂曲的降B调与人体器官高度共振触发毒药活性,并高度吸收毒药成分,然后……”我彻底明白了。
卡文迪许的雪茄灰簌簌落下,在猩红地毯上烫出一个个焦痕。"所以,你只用去排查一下演出前,谁刻意给他们送过杏仁水就行了。"他忽然用鞋尖碾灭烟蒂,"卷宗上记录了,负责采购的,也是最有犯罪动机的是乐团的总指挥,对吧?"
“他跟那三位钢琴家的关系并不好。”我回复到,“那三位钢琴家经常当着他的面顶撞他,他感到颜面尽失。”
我看到他脸上忽然提起了一点兴趣。
我继续说道,“在这次案件中,他也是唯一一个有机会下毒的人。这名音乐家在演出前吃的最后一顿晚餐就是跟他一起吃的。随后音乐家就去准备演出了,没有单独会见过任何人。”
“真相大白了。”他脸上露出一抹玩味的笑容,“司长,你的推理能力还是那么厉害。”
“不,还是靠你的点拨。”我自知不敢班门弄斧,
他掏出银制的怀表,扫了一眼,“30分钟,案件比我想象的要顺利些。”
“我一天只帮你一次。”他用手轻轻拍了拍身上的烟灰,“我相信接下来的你能搞定,没有什么能侵占我留给爱好的时间了。”
我下意识看向音乐厅外:天色粘稠起来,天边划过的一道道云,像是死鱼肚上的腥灰。太阳溃烂成发霉的血橙,阴影疯狂地爬过每一处建筑,光线愈发昏暗,使我感到一阵阵寒意。好像被无数个眼睛盯上了……
“好。”我答应到,随后安排探员去逮捕乐团指挥。
安排好后续工作后,我目送他向音乐厅外走去。在走出门的刹那,他回头望了我一眼,“你有话想问我。”
我先是诧异于他惊人的洞察能力,然后问出了那个压在我心中许久的问题。“你是如何扫了几眼就能还原案发现场的?”
他沉默了一小会儿,说道:“我的视角在穹顶之上……”
卡文迪许离开警探后,并没有向他那栋破旧地公寓走去,而是在远离案发现场的路口静静地坐了一会儿。夜色愈发浓稠,很快便铺满了整个世界,银色的怀表轻微地机械声响了无数次之后……
他终于站起身。而就在这时,天空又刚好下起了蒙蒙细雨……
只见他眼中闪过一丝诡异的光芒,朝着音乐厅的方向走去。此时案件已经结束,探员也纷纷撤离,等他重回音乐厅时,厅内早已空无一人。
2分钟后,卡迪文许从音乐厅走出……
30分钟后,卡迪文许站在乐团长笛手克拉克的公寓门前时,雨水正顺着黑伞的骨线滑落,在脚边绽开一朵朵银色的涟漪。他整理了一下珍珠母贝袖扣,指节叩响橡木门的动作轻得像是在触碰钢琴弱音踏板。
门开时,克拉克披着胭脂红的真丝睡袍,一脸困意。待她看清门外的来客,甚是诧异“先生,你恐怕敲错门了。”
“不,小姐。”卡文迪许笑笑,“需要我为你弹奏一首《秋夜安魂曲》吗?我想你家里应该会有一架钢琴。”
克拉克脸色煞白,咬着嘴唇,“你是谁?”
卡迪文许没有理会,径直走入房内,打量着四周。果然在角落里找到一架钢琴。他气定神闲地坐下,白手套悬在钢琴键板上方,像一只徘徊的夜蝶。克拉克不知所措地站在三米外的谱架旁,真丝睡袍的系带被冷汗浸出深色痕迹。
"通常人会注意琴键表面。"他的指尖虚划过黑白键的缝隙,"但真正的艺术家,知道共鸣发生在木质深处。"卡文迪许说着,用戴着手套的手指按下降B调。
克拉克呼吸骤停。
而卡文迪许不紧不慢的端起克拉克桌上喝了半杯的咖啡,“知道为什么选择降B调吗?”他忽然把手中的咖啡泼向琴键,咖啡如蛛网般蔓延,流到高音区卡文迪许刚刚按下的降B键时,忽然冒出一阵蓝光。
“因为这个音椎的包绒厚度最薄,传导最完美。”
“而毒药,就藏在这个琴键下。”他说着,将琴键卸下,并将其轻轻抖落在桌上。是蓝色晶体。
卡文迪许从风衣的口袋中掏出一个微型玻璃管,里面装着同样的晶体。“你是个完美主义者,为了能暗杀成功,提前在你的钢琴上也做了一次测试。”
克拉克凝视着桌上萎靡的蓝色荧光,真丝睡袍突然像褪色的幕布般委顿在地。她低下头,忽然发出水晶破碎般的笑声。
“不管你是谁,能识破我以为天衣无缝的计划,确实比M.E.G.派来的那帮傻子强,但你漏掉了一个小小的细节,就是毒药的媒介。”
“愿闻其详。”卡迪文许毫无一丝波澜。
“这个毒素平时对人体是完全没有危害的,致人死亡条件是汗液与杏仁水的代谢物。”
卡文迪许叹了一口气,眼里满是欣赏,“我还以为杏仁水的作用是促进人体对微量毒药的吸收,原来不是催化剂,而是媒介。这个毒药本身就不怕被检测,因为它甚至不算是毒药。”
“我才是《秋夜安魂曲》的真正作者,外界一直以为是他们三个人,他们夺走了我的荣誉,地位,一切!”克拉克咬牙切齿的说。
久之,她缓过神来,“你是怎么发现我的?”
“你的指甲比平时要长,因为你知道你短时间内不需要再弹奏了,”卡文迪许面无表情地坐在钢琴凳上,“小姐,注重细节。”
克拉克苦笑道,“我计划的如此完美,没想到栽到这上面了……你是探员吧,我跟你自首。”
卡文迪许说,“从我走进音乐厅开始算,怀表响到第41下的时候,我就肯定能找到你了。但我给他们提供了一个错误信息,他们现在正在抓捕你的上司。”
克拉克不解的问道,“那你想要什……”
她话还没说完,卡文迪许就用手抵在她的喉咙上,克拉克瞪大了眼睛。
“别紧张小姐,我欣赏你的艺术。”卡迪文许露出一个非人的笑容。
“请保持谢幕时的优雅……”
3小时后,凌晨2点……
卡迪文许公寓里的老式留声机播放着《秋夜安魂曲》,只是在第147小节处有个微小的停顿——仿佛演奏者轻轻咽下了某个音符。