第零篇:潮痕之邀
:root {
    --lh-red: #c0392b;
    --lh-blue: #2980b9;
    --lh-green: #27ae60;
    --lh-dark-green: #16a085;
    --lh-purple: #8e44ad;
    --lh-orange: #e67e22;
    --lh-yellow: #f1c40f;
 
    --lh-paper-bg: 255, 251, 240;
    --lh-string-color: 192, 57, 43;
    --lh-book-color: var(--gray-monochrome);
    --lh-tape-color: 90,90,90,0.3;
    --lh-white-bg: 249,249,249;
    --lh-dark-bg: 50, 50, 50;
    --lh-highlighter: var(--bright-accent);
    --lh-border-color: var(--gray-monochrome);
    --lh-wiki-note-color: var(--bright-accent)
}
 
/**
 *  旧代码合集
 *  为了向下兼容而保留
 */
 
.grid-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.grid-container,.grid-container [class*=grid]{box-sizing:border-box}[class*=grid]{padding:5px}.grid{width:100%}.grid-large{width:75%}.grid-big{width:50%}.grid-medium{width:33.33%}.grid-small{width:25%}@media screen and (min-width:768px){.wd-grid-large{width:75%}.wd-grid,.wd-grid-big{width:50%}.wd-grid-medium{width:33.33%}.wd-grid-small{width:25%}}.text-hover-hide{opacity:0;transition:opacity .3s}.text-hover-hide:hover{opacity:1}.text-block-hide{background:rgb(var(--black-monochrome));color:rgb(var(--black-monochrome));transition:background .3s}.text-block-hide:hover{background:0 0}.text-blur-hide,.text-blur-hover-hide{filter:blur(.3rem);-webkit-filter:blur(.3rem) transition: blur .3s}.text-blur-hover-hide:hover{filter:blur(0);-webkit-filter:blur(0)}.lyric-box{text-align:center;font-size:1.05rem;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.lyric-box p{margin:1.5em auto}.lyric-box.with-bigger-line p{margin:3em auto}
 
/**
 *  便签纸
 *  notepaper
 */
 
.notepaper {
    background: linear-gradient(rgb(var(--lh-paper-bg)) 95%, #ddd 0);
    line-height: 2em;
    background-size: 100% 2em;
    background-attachment: local;
    border: 2em solid rgb(var(--lh-paper-bg));
    box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.2);
    padding: 0;
    margin: 1em auto;
    box-sizing: border-box;
    position: relative
}
.notepaper p {
    margin: 0;
    font-size: 1.05rem;
    letter-spacing: 0.1rem;
    line-height: inherit
}
.notepaper.narrow,
.notepaper.wide {
        width: 90%
}
@media screen and (min-width:768px){
    .notepaper.narrow {
        width: 50%
    }
    .notepaper.wide {
        width: 75%
    }
}
 
.notepaper.tight {
    border-width: 1rem;
    border-left-width: 1.2rem;
    border-right-width: 1.2rem;
    line-height: 1.8em;
    background-size: 100% 1.8em;
    font-size: 13px
}
 
.notepaper.with-string::before {
    content: '';
    width: 0.5em;
    height: 6rem;
    background: rgb(var(--lh-string-color));
    top: -2rem; right: -1rem;
    display: block;
    position: absolute;
    box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2);
    clip-path: polygon(-100% -100%,100% 0%,100% 100%,50% 98%,0% 100%);
}
.notepaper.with-tape::before {
    content: '';
    border: 1px solid #ddd;
    background: rgba(var(--lh-tape-color));
    width: 1.5em;
    height: 4em;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: -3em;
    left: -1.8em
}
 
.notepaper.tight.with-string::before {
    top: -1rem; 
    right: -0.25rem;
}
.notepaper.tight.with-tape::before {
    top: -2.5em;
    left: -1.3em
}
 
.notepaper.page {
    min-height: 36em;
    counter-increment: page;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}
@media screen and (min-width:768px){
    .notepaper.page {
        width: 70%
    }
}
.notepaper.page:after {
    content: counter(page);
    display: block;
    text-align: center
}
.notepaper-group {
    counter-reset: page;
}
 
.book-pattern {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row
}
.book-pattern .notepaper.page:not(.notepaper > .notepaper) {
    width: 100%
}
@media screen and (min-width: 768px) {
    .book-pattern .notepaper.page:not(.notepaper > .notepaper) {
        width: 50%
    }
}
 
.book-wrapper {
    background: rgb(var(--lh-book-color));
    padding: 0.5rem;
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2);
    border-radius: 5px;
    margin: 1rem auto
}
@media screen and (min-width: 768px) {
    .book-wrapper .notepaper {
        margin: 0
    }
}
 
/**
 *  文字修饰
 */
 
.text-highlighted {
    position: relative
}
.text-highlighted::before {
    content: "";
    position: absolute;
    height: 0.9em;
    bottom: 2px;
    left: -2px;
    width: 105%;
    z-index: -1;
    background-color: rgb(var(--lh-highlighter));
    opacity: .6;
    transform: skew(-15deg);
    transition: opacity .2s ease;
    border-radius: 3px 8px 10px 6px;
    transition: 0.1s ease background-color;
}
 
.text-underlined {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 2px;
    text-decoration-color: rgb(var(--lh-highlighter))
}
.text-wavy {
    text-decoration: underline wavy;
    text-underline-offset: 4px;
    text-decoration-color: rgb(var(--lh-highlighter))
}
 
.text-circled,
.text-squared {
    display: inline-block;
    border: 2px solid rgb(var(--lh-highlighter));
    border-radius: 100%;
    box-sizing: border-box
}
.text-squared { border-radius: 0 }
 
.text-shadow { text-shadow: 0.075em 0.075em 0 rgb(var(--lh-highlighter)) }
 
.text-highlighted.td-red::before { background: var(--lh-red) }
.text-circled.td-red, .text-squared.td-red { border-color: var(--lh-red) }
.text-underlined.td-red, .text-wavy.td-red { text-decoration-color: var(--lh-red) }
 
.text-highlighted.td-blue::before { background: var(--lh-blue) }
.text-circled.td-blue, .text-squared.td-blue { border-color: var(--lh-blue) }
.text-underlined.td-blue, .text-wavy.td-blue { text-decoration-color: var(--lh-blue) }
 
.text-highlighted.td-green::before { background: var(--lh-green) }
.text-circled.td-green, .text-squared.td-green { border-color: var(--lh-green) }
.text-underlined.td-green, .text-wavy.td-green { text-decoration-color: var(--lh-green) }
 
.text-highlighted.td-darkgreen::before { background: var(--lh-dark-green) }
.text-circled.td-darkgreen, .text-squared.td-darkgreen { border-color: var(--lh-dark-green) }
.text-underlined.td-darkgreen, .text-wavy.td-darkgreen { text-decoration-color: var(--lh-dark-green) }
 
.text-highlighted.td-purple::before { background: var(--lh-purple) }
.text-circled.td-purple, .text-squared.td-purple { border-color: var(--lh-purple) }
.text-underlined.td-purple, .text-wavy.td-purple { text-decoration-color: var(--lh-purple) }
 
.text-highlighted.td-yellow::before { background: var(--lh-yellow) }
.text-circled.td-yellow, .text-squared.td-yellow { border-color: var(--lh-yellow) }
.text-underlined.td-yellow, .text-wavy.td-yellow { text-decoration-color: var(--lh-yellow) }
 
.text-highlighted.td-orange::before { background: var(--lh-orange) }
.text-circled.td-orange, .text-squared.td-orange { border-color: var(--lh-orange) }
.text-underlined.td-orange, .text-wavy.td-orange { text-decoration-color: var(--lh-orange) }
 
/* 隐藏文字 */
 
.text-blank { color: rgba(0,0,0,0) }
.text-block { 
    background: rgb(var(--black-monochrome));
    color: rgb(var(--black-monochrome)); 
}
.text-blur { 
    filter: blur(0.3em);
    -webkit-filter: blur(0.3em)
}
 
.text-hoverback,
.text-selectback {
    transition-duration: 0.3s;
    transition-property: background, transform, color
}
 
.text-blank.text-hoverback:hover,
.text-blank.text-selectback::selection,
.text-blank.text-selectback *::selection { color: rgb(var(--black-monochrome)) }
 
.text-block.text-hoverback:hover { background: transparent!important }
.text-block.text-selectback::selection,
.text-block.text-selectback *::selection { color: rgb(var(--white-monochrome, 255, 255, 255)) }
 
.text-blur.text-hoverback:hover { filter: blur(0)!important; -webkit-filter: blur(0)!important }
 
/**
 * 附加项
 */
.with-border, .with-box-style { border: 1px solid rgb(var(--bright-accent)) }
.with-border-dark { border: 1px solid rgb(var(--black-monochrome)) }
.with-border-light { border: 1px solid rgb(var(--white-monochrome)) }
.with-border-thick { border-width: 2px }
 
.with-shadow-sm { box-shadow: 0 0 0.1em rgba(0,0,0,0.2) }
.with-shadow { box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2) }
.with-shadow-lg { box-shadow: 0 0.15em 0.3em rgba(0,0,0,0.2) }
.with-shadow-xl { box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.2) }
.with-shadow-xxl { box-shadow: 0 0.25em 0.8em rgba(0,0,0,0.2) }
 
.with-padding, .with-box-style { padding: 0.25em 1em }
.with-p-sm { padding: 0.125em 0.5em }
.with-p-lg { padding: 0.5em 2em }
 
.with-margin, .with-box-style { margin: 1em auto }
.with-m-sm { margin: 0.5em auto }
.with-m-lg { margin: 2em auto }
 
.with-narrow-width { 
    width: 90%!important; 
    margin-left: auto; 
    margin-right: auto 
}
@media screen and (min-width: 768px) {
    .with-narrow-width { width: 75%!important }
}
[class*="with-bg-"], [class*="with-bg-"] h1 { color: #fff!important }
.with-bg-red { background: var(--lh-red)!important }
.with-bg-blue { background: var(--lh-blue)!important }
.with-bg-green { background: var(--lh-green)!important }
.with-bg-darkgreen { background: var(--lh-dark-green)!important }
.with-bg-yellow { background: var(--lh-yellow)!important }
.with-bg-orange { background: var(--lh-orange)!important }
.with-bg-purple { background: var(--lh-purple)!important }
 
/**
 * 删除类
 */
 
.offwith-shadow { box-shadow: none!important }
.offwith-border { border: none!important }
.offwith-padding, .offwith-pam { padding: 0!important }
.offwith-margin, .offwith-pam { margin: 0!important }
 
.offwith-width-limit {
    width: auto!important;
    margin-left: auto!important;
    margin-right: auto!important
}
 
div[class*="grider"].offwith-grid-gap { grid-gap: 0!important }
 
/**
 * 网格布局
 */
 
/* Gridder 容器 */
 
div[class*="gridder"] {
    display: grid;
    box-sizing: border-box;
    grid-gap: 1rem;
    padding: 0
}
div[class*="gridder"] * { box-sizing: border-box }
 
.gridder, .gridder-col-2 {
    grid-template-columns: 1fr 1fr;
}
.gridder-col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.gridder-col-4 {
    grid-template-columns: repeat(4, 1fr);
}
 
@media screen and (min-width: 768px) {
    .pc-gridder, .pc-gridder-col-2 {
       grid-template-columns: 1fr 1fr;
   }
   .pc-gridder-col-3 {
       grid-template-columns: repeat(3, 1fr);
   }
   .pc-gridder-col-4 {
       grid-template-columns: repeat(4, 1fr);
   }
}
 
.spanner, .spanner-2 {
    grid-column-start: span 2;
}
.spanner-3 {
    grid-column-start: span 3;
}
 
/**
 * 告示组件
 */
.signblock,
.signblock-dark,
.signblock-warn {
    margin: 1rem auto;
    box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.4);
    background: rgb(var(--lh-white-bg));
    font-size: 1.05rem;
    padding: 2rem
}
@media screen and (min-width: 768px) {
    .signblock,
    .signblock-dark,
    .signblock-warn {
        width: 75%
    }
}
.signblock-dark, 
.signblock-dark h1 {
    background: rgb(var(--lh-dark-bg));
    color: #fff
}
.signblock-warn, 
.signblock-warn h1 {
    background: var(--lh-red);
    color: #fff
}
 
.signblock h1,
.signblock-dark h1,
.signblock-warn h1 {
    text-align: center;
    font-size: 2rem;
    margin: 0;
    font-weight: 700
}
.signblock-img {
    display: flex;
    flex-direction: row;
    justify-content: center
}
.signblock-img img {
    width: 8em
}
.signblock-footer {
    font-size: 0.9em;
    text-align: center;
    margin: 0.5rem 0;
    font-weight: bolder;
    display: block
}
 
/**
 * 报告
 */
 
.reportblock,
.reportblock-dark {
    border: 2px solid rgb(var(--lh-border-color));
    box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3);
    background: rgb(var(--white-monochrome));
    padding: 0.8rem 1.5rem;
    padding-bottom: 0.4rem;
    margin: 1.5rem auto;
    margin-bottom: 1rem;
    position: relative
}
 
.reportblock hr,
.reportblock-dark hr {
    background-color: rgb(var(--lh-border-color));
    margin-left: -1.5rem;
    margin-right: -1.5rem
}
 
.reportblock h1:first-child,
.reportblock-dark h1:first-child {
    position: absolute;
    top: -1rem;
    left: 1.5rem;
    font-size: 110%;
    font-weight: 600;
    background: rgb(var(--lh-border-color));
    color: #fff;
    padding: 0.2rem 0.5rem;
    margin: 0;
}
 
.reportblock-dark,
.reportblock-dark h1 {
    border-color: rgb(var(--lh-white-bg));
    background: rgb(var(--lh-dark-bg));
    color: #fff
}
 
.reportblock-dark hr {
    background-color: rgb(var(--lh-white-bg));
}
 
/* 更好的折叠框 */
 
.bettercollap {
  margin: 1em 0;
}
 
.bettercollap .collapsible-block {
  width: auto;
  overflow: hidden;
  border: 1px solid rgb(var(--lh-border-color))
}
 
.bettercollap .collapsible-block-content,
.bettercollap .collapsible-block-link {
  background: rgb(var(--white-monochrome));
  padding: 0.5em
}
 
.bettercollap .collapsible-block-content {
  padding-left: 1em;
  padding-right: 1em
}
 
.bettercollap .collapsible-block-link {
  color: rgb(var(--lh-border-color));
  background: rgb(var(--white-monochrome));
  transition: .3s;
  display: block;
}
.bettercollap .collapsible-block-link:hover,
.bettercollap .collapsible-block-unfolded .collapsible-block-link,
.styledcollap.bettercollap .collapsible-block-link {
  color: rgb(var(--white-monochrome));
  background: rgb(var(--lh-border-color))!important;
  text-decoration: none
}
 
.bettercollap .collapsible-block-link:hover a { color: rgb(var(--white-monochrome)) }
 
.bettercollap .collapsible-block-link::before {
  content: "\25BC";
  display: inline-block;
  margin-right: 0.5em;
  transform: rotate(-90deg) scale(0.9)
}
.bettercollap .collapsible-block-unfolded .collapsible-block-link::before {
   transform: rotate(0) scale(0.9)
}
 
.bettercollap .collapsible-block + .collapsible-block { border-top: none }
 
.styledcollap.bettercollap .collapsible-block {
  border-radius: 2px;
  box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3)
}
 
.styledcollap.bettercollap .collapsible-block-content {
  background-color: rgb(var(--pale-gray-monochrome));
  border-width: 3px
}
 
.styledcollap.bettercollap .collapsible-block-link:hover {
  background: rgba(var(--lh-border-color),0.95)!important;
}
 
/**
 * 提示框
 */
 
.infoblock {
    color: #f1f1f1;
    font-weight: bold;
    background: #424242;
    padding: 5px 5px 5px 5px;
    border-radius: 4px;
    margin: -0.5rem 0 1rem 0;
    display: block;
    width: fit-content;
    padding-right: 25px;
}
 
.infoblock::before {
    content: "ⓘ "
}
 
/**
 * 单页迭代 
 */
 
.offset-page:not(:target), .offset-page:target ~ div#u-default-page { display: none }
.offset-page:target { display: block }
评分: +8+x

引子


“小姐,醒醒……”

迷迷糊糊间,Sherry听到有个声音正在呼喊。

那声音不疾不徐,带着某种奇异的耐心,像是已呼唤了许久,也不介意再呼唤更久。它不尖锐也不沉闷,恰到好处地穿透了她意识外围那层厚重的迷雾,如同一根极细的丝线,牵着她从深不见底的黑暗中缓缓上浮。

“这是……怎么了……”

她想睁开眼睛,却发现眼睑沉重如山。她想坐起,身体却无论如何挣扎都没有反应。只有意识在一点一点地聚拢,如同破碎的镜片被一只看不见的手慢慢拼合。

“我这是……在哪……”

她记得自己潜入了湖底。

记得湖水冰凉刺骨,记得岩壁上那些发光的苔藓散发出幽蓝的冷光,记得那个狭窄得仅容一人侧身而过的岩缝。

然后……

然后是什么?

“小姐,您能听到我说话吗?”

那个声音又近了一些。Sherry意识到,自己正躺在某个坚硬的平面上。身下是石板,冰凉而光滑,似乎还铺着一层薄薄的灰尘。空气潮湿,带着咸腥的味道,混杂着某种她从未闻过的气息——旧纸张、陈年墨水、以及某种难以形容的、仿佛来自时间深处的芬芳。

她用力眨了眨眼。

光线渗入视野——起初只是一团模糊的、带着毛边的光晕,随即逐渐清晰。她看到的是岩石的穹顶,不规则的表面布满了细密的水珠,在某种不知来源的暖黄色光芒中折射出微弱的光泽。

“这里是……”

“潮痕古堡,小姐。”那个声音回答,平静得像在陈述一个早已被她遗忘的事实,“您是三百年来,第一位以‘被选中者’身份踏入此地的访客。”


一、古怪的邀请函


而这一切,都要从那封邀请函,开始说起。

“哎呀我都说了多少次了,这就是一张普普通通的羊皮纸嘛!”

尚值清晨,Annie和Sherry的宿舍中却传来了Annie不耐烦的声响。 阳光透过窗帘的缝隙洒进来,在木质地板上投下几道细长的光带。床铺上还残留着昨夜翻滚过的褶皱,枕头上Annie那头幽蓝色的短发压出了几个俏皮的弯。

Sherry站在窗前,手里攥着一张羊皮纸。

那纸张质地温润,边缘切割得不太规整。纸面中央,一行烫金花体字在晨光中闪烁着细碎的光芒——
“被命运选中之人 谨启。”

Annie盘腿坐在床上,穿着那件洗得发白的旧T恤,刚才还在对着手机屏幕研究什么枪械射击的教程视频,此刻却一脸无奈地看着自己的妹妹。她已经反复看了那张羊皮纸不下五次——翻来覆去地看、对着光看、放在暗处看、甚至用手机闪光灯照着看——结论始终如一。

“我再说一遍哦,真的真的真的没有字。”Annie把手一摊,语气里带着三分无奈七分笃定,“你是不是最近太累了,出现幻觉了?”
Sherry咬了咬下唇。

“可是……我真的看到了。”她的声音很轻,带着一丝不易察觉的委屈,“金色的字,‘被命运选中之人谨启’。就在正中间。”

Annie盯着她看了两秒,叹了口气。

她太了解Sherry了。这个妹妹虽然平时看起来冷静理智、滴水不漏,但骨子里藏着一股倔劲儿。她不会无缘无故拿着张什么都没有的羊皮纸跟自己纠缠这么久。

“那……”Annie想了想,斟酌着措辞,“会不会是谁跟你开玩笑?Dr.CB?星璇?那个人小鬼大的修女最擅长这种故弄玄虚的事了。”

“不是。”Sherry摇头,“我从档案室整理资料的时候发现的,夹在一份很旧的档案里。那份档案……存放的位置很偏,落了很多灰,感觉很久没人动过了。”

“那就更奇怪了。”Annie挠了挠头,幽蓝色的短发被她揉得更加凌乱,“谁会特意跑到那种偏僻角落,就为了夹一张空白的羊皮纸进去?”

Sherry没有回答。

她低下头,再次看向手中那行字。
金色的墨水在阳光下微微发烫,那些字母排列得很优雅,像是某种古老的邀请——或者说,召唤。

她试着用手指摩挲纸面。

字迹没有被擦掉,也没有褪色。它们像是长在了纸里,与纸张本身融为一体,成为它不可分割的一部分。

“Annie,”Sherry抬起头,湛蓝的眼眸里有一丝说不清的情绪,“你再仔细看看,就最后一次。”

Annie看到了妹妹眼中的恳求,心里一软。

她放下手机,从床上爬下来,踩着拖鞋走到Sherry面前,几乎是鼻尖贴着羊皮纸地看了好几秒。

“没有。”她抬起头,语气温和却确定,“Sherry,我真的什么都没看到。就是一张空白的纸,连水印都没有。”

Sherry攥紧了羊皮纸的边缘。

“好吧。”她深吸一口气,露出一个有些勉强的笑容,“可能是我想多了。”

她把羊皮纸折好,小心地塞进外套内侧的口袋里。

Annie看着她的动作,张了张嘴想说什么,但最终只是拍了拍她的肩膀,转身走向门口。

“Annie!你去哪?”

Annie晃了晃手上那颗璀璨的魔力宝石,脸上的表情瞬间亮了起来,方才的无奈与关切一扫而空:“嘿嘿,当然是去练枪啦~”

她的声音里带着一种藏不住的雀跃,眼中有光——那是最近才出现的光芒。从她正式成为“枪之魔法少女”的那天起,这束光就再也没有熄灭过。

“成为了枪之魔法少女,当然要好好使用这份能力才行!”

她拉开门,清晨的走廊里涌进一股带着露水气息的凉风。走廊尽头的窗户透进来大片大片的金色阳光,将她的影子拉得很长很长,投在对面的墙壁上,像一柄细长的枪。

“那你……注意安全。”Sherry说。

“放心啦!”

Annie的身影消失在门外。脚步声踏踏踏地远去,轻快得像只撒欢的猫。

走廊里重新安静下来。

只有窗外的鸟鸣,和远处某个教室里隐约传来的讲课声。

Sherry站在原地,手不自觉地伸进口袋,指尖触碰到那张羊皮纸略显粗糙的边缘。

她被命运选中了?

被什么选中?为什么选中?被谁选中?

还是说,这一切只是她的幻觉?

Sherry闭上眼睛,深吸一口气。

不。

她不相信那是幻觉。

那行字的触感是真实的。它温热过,它闪光过,它在她手中像一颗活着的心,无声地跳动。

“被命运选中之人 谨启。”

她睁开眼,望着窗外那片被阳光染成金红色的天空。

不管这意味着什么——她都会找到答案。

吃过早饭,Sherry去了图书馆。

她没有去常见的阅览区,而是穿过层层书架,沿着一条越来越窄的通道,走到了档案室那个最偏僻的角落。

找到那份档案夹的位置不难——她昨天已经来过一次。

她抽出那份档案夹,翻开。

里面是几份关于某个已经关闭的研究项目的记录,时间大约在七八年前。项目名称被严重涂抹,几乎看不出原来的字样。参与者名单也大部分被涂黑,只剩少数几个名字依稀可辨。

没有任何关于邀请函的线索。

Sherry合上档案夹,将它放回原位。

她又翻了翻相邻的几个档案夹,没有发现类似的羊皮纸,也没有任何异常。

“难道是单独夹进去的?”她蹙眉,“可谁会这么做,又是为什么呢?”

她靠在书架旁,拿出那张羊皮纸,再次仔细端详。

纸张的边缘有明显的磨损痕迹,但没有任何撕裂或污渍。表面略微泛黄,像是某本旧书里脱落的扉页。

她试着用手机拍照。

照片里,羊皮纸上空空荡荡,只有一个米白色的矩形,什么都没有。

她试着扫描。

扫描件里,同样什么都没有。

Sherry沉默地看着那张空白的照片,心里涌起一股说不清的复杂情绪。

如果只有我能看到……

那是不是意味着,只有我是“被选中”的?

可为什么是我?

Annie是枪之魔法少女。如果预言是真的,如果魔法少女角逐真的要开始,那她应该才是那个站在舞台中央的人。

而自己呢?

虽然拥有量子分解和重构的能力,虽然拥有生物义体,虽然被圣亚伯拉罕大学特招为调查员——但在那个魔法少女的预言里,她似乎从未被提起过。

预言说,会有五个魔法少女出现。

她们会从不同的地方获取属于自己的力量,然后展开角逐。这些力量会使一个叫做“魔力值”的东西产生变化。每隔一段时间,魔力值会被结算。

魔力值最低的那位魔法少女就会在角逐中战败,她将出局并受到惩罚。

经过四轮淘汰后,余下的那一位魔法少女就会获胜并得到奖励。

而Annie——已经是枪之魔法少女了。

也就是说,至少还有四位魔法少女尚未出现。或者已经出现了,只是她们不知道。

Sherry的手指无意识地摩挲着羊皮纸的边缘。

这张邀请函,会不会和魔法少女的预言有关?

会不会她也是被选中的五人之一?

但这个想法刚冒出来,就被她自己否定了。Annie成为魔法少女时,是有人找到她的,带着一份契约,一颗魔力宝石,还有一套关于魔法少女角逐的规则说明。

而她呢?

只有一张空白的、只有自己能看到的邀请函。

没有引导者,没有契约,没有魔力宝石。

什么都没有。

Sherry叹了口气,将羊皮纸收回口袋。

时间还早。

她决定去碰碰运气。


二、古书与星璇的发现

Sherry在大学内胡乱逛着,不知怎么来到了神学院附近。

神学院被一片修剪整齐的草坪环绕,相比于大学其他学院,它是个格外安静的地方。

从外面看,它和普通教堂没什么区别——灰色的石墙、尖顶的钟楼、彩色玻璃窗上描绘着宗教题材的图案。

Sherry穿过主厅,从侧门进入一条狭窄的走廊,再推开一扇不起眼的橡木门。

房间不大,约莫二十平方米。靠墙是一排顶天立地的书架,塞满了各种神学典籍、历史文献和手抄本。窗台上摆着几盆多肉植物,长得不算好,但还算精神。一张深色的木桌占据了房间中央,桌面上堆着好几摞书,有些书页间夹着各色的便签。一盏黄铜台灯立在桌角,灯罩微微倾斜,将光线聚拢在桌面上那一小片区域。

星璇正坐在桌前,棕色的长发在脑后编成一条松散的辫子,穿着一件素净的灰色毛衣,袖子挽到手肘,露出纤细的手腕。她面前摊着一本极厚的书,封面是暗沉的深褐色,边缘磨损严重,有些地方甚至露出了内里的硬纸板。

她听到脚步声,抬起头,露出一个温和的笑容:“Sherry?稀客呀。”

“星璇。”Sherry在门口站了一瞬,然后走了进来,“我想请你帮我看一样东西。”

“什么东西?”

Sherry从口袋里取出那张羊皮纸,递了过去。

星璇接过纸,低头看了一眼。

然后她的表情变了。

不是惊讶——是一种更加复杂的、Sherry说不上来的神情。

“……星璇?”

“你能看到上面的字吗?”Sherry的声音有些急切,“金色的,花体字,写的是——”

“‘被命运选中之人 谨启’。”星璇替她说完了后半句。

Sherry的心跳漏了一拍。

“你……你能看到?”

“嗯。”星璇将羊皮纸放在桌上,用手指轻轻点着那几个她看到的字,“写得很清楚。除此之外……还有一些我看不懂的符号,在背面。”

“背面?”Sherry一愣,“我背面没看到什么啊……”

她拿起羊皮纸,翻转过来。

空白的。

还是空白的。

“这……”她重新将纸递给星璇,“你能圈出来给我看吗?”

星璇从笔筒里抽出一支铅笔,在羊皮纸背面的几个位置画了圈,然后递还给Sherry。

Sherry盯着那几个痕迹。

她的视角里,那些位置根本什么都没有。

铅笔的印记落在空白的纸面上,孤零零的,像是在一张白纸上随意画了几个圈。

“所以……”Sherry慢慢坐下,声音有些艰涩,“我拿给Annie看,她说上面什么都没有。拿给你看,你不仅能看到正面的字,还能看到背面的符号。也就是说,不是这张纸出了问题,是……”

“是‘被选中’的人才能看到它。”星璇帮她补完了后半句。

Sherry靠在椅背上。

沉默了几秒。

“星璇,”她开口,声音比刚才沉了一些,“关于魔法少女的预言,你了解多少?”

星璇没有立刻回答。

她将羊皮纸放到一边,双手交叠放在桌上,十指交叉。台灯的光落在她脸上,将她的侧脸映照得明暗分明。

“我了解的不算多。”她缓缓说道,“这个预言是最近才开始流传的,来源不明。但可以肯定的是——它正在照入现实。”

她看了一眼Sherry:“Annie不就是最好的例子吗?”

Sherry点头。

“而且,”星璇顿了顿,声音低了几分,“我听闻,还有两位魔法少女已经来到了圣亚伯拉罕。只是她们的身份、能力和阵营目前都还不清楚。”

“两位?”Sherry蹙眉,“也就是说,加上Annie,至少已经有三位了。还剩两位……”

她没说完,但意思很明显。

她自己有可能是那剩下的两位之一。或者说——那张羊皮纸,可能就是线索。

星璇似乎看穿了她的心思,但没有追问,而是站起身,走到书架前,从最上层抽出一本极厚的书。

那本书的外形让Sherry有些意外。

没有插图。封面上只有烫金的拉丁文标题,字迹因年代久远而变得有些模糊。整本书呈现出一种深沉的暗褐色,像被时光浸泡过的某种旧物,散发着陈旧的纸张和皮革混合的气味。

“这是……”Sherry接过那本书,只觉得手里一沉。

“一本古书。至少放了三百多年。”星璇重新坐下,双手托腮,“讲的是魔法少女的故事。”

Sherry翻开封面。

入目的第一页就是密密麻麻的拉丁文,没有插图,没有装饰,甚至连段落和标点都显得粗糙随意。字迹是手抄的,字体工整却呆板,像是抄写者只是机械地复制,并未真正理解其中含义。

“这……”Sherry皱起眉,“看上去像一本伪书。”

“是啊。”星璇笑了笑,“我看过了,里面满是生硬的语言,充满歧义的长句,没有插图的版面,还有那些让人摸不着头脑的短句——比如‘让没出现的死去’,‘处决歌唱’,完全不知道在说什么。”

“但这个书确实在Level 906放了三百多年。”星璇补充道,“老教皇说,在他年轻的时候这本书就已经在这里了。没人知道它的确切来历。”

Sherry沉默了一会儿。

“所以这本书……只写了开头?”

“对。”星璇翻开书页,指给Sherry看,“前面的几十页还算有条理,讲了一个人们用魔法自相残杀的故事。但故事只开了个头就断了,后面的章节又变成了那些意义不明的呓语。”

Sherry凑过去看。

那些拉丁文的长句确实如星璇所说,语序混乱,修辞晦涩,像是作者在刻意掩饰什么。偶尔会有几个短句突兀地插入其中——“让没出现的死去”“处决歌唱”“血染的舞台”——像某种暗语,又像某个疯狂的低语。

“我目前也只看出这些。”星璇合上书,将它放到一边,“感觉这上面的内容和那些古书有很多相似的地方。但那些古书上,魔法少女最终的结局可不太好。”

“不太好是……”Sherry试探性地问。

星璇看着她,眼神里有一丝Sherry从未见过的沉郁。

“死亡。”星璇说得很轻,却掷地有声,“或者比死亡更可怕的东西——比如,失去自我。”

书房里安静了一瞬。

窗外有一只鸟叫了两声,然后飞走了。

“我知道了。”Sherry站起身,“星璇,我有件事要告诉你。”

她拿出那张羊皮纸,将它摊在桌上,正面对着星璇。

“这张邀请函上写了‘被命运选中之人 谨启’。”Sherry的语速不快,一字一句,“然后它写了进入潮痕古堡的方法。”

星璇静静听着。

“我决定去看看。”

星璇没有立刻回应。

她低下头,看着那张羊皮纸,沉默了几秒。然后她抬起头,那双清澈的眼睛里映着台灯温暖的光。

“Sherry,我支持你。”她说,“你去吧。我会继续研究这本古书,尽快把里面的内容破译出来,看看有没有对你有用的信息。”

“谢谢你,星璇。”Sherry握紧羊皮纸,将它收进口袋,“等我回来。”

星璇送她到门口。

晨光从教堂的彩色玻璃窗洒进来,在地面上投下斑斓的光影。星璇站在光影之中,棕色的发辫垂在胸前,脸上带着淡淡的笑意。

“路上小心。”她说。

Sherry点头,转身走进走廊。

身后,书房的门缓缓关上。

星璇回到桌前,重新翻开那本古书。她的手指轻轻划过那些生硬的拉丁文,嘴唇微微翕动,像是在默念什么。


三、潜入

按照邀请函上写的方法,Sherry在Level AS-419那片名为镜月湖的水域找到了入口。

湖水在月光下平静如镜,倒映着满天繁星。Sherry换上潜水装备,在湖心找到了那处被水草遮掩的暗流。她深吸一口气,潜入冰冷的水中。

岩洞比她想象的要狭窄。

她起初还能勉强游动,到后来只能侧身挤过那些湿滑的石缝。发光的苔藓附着在岩壁上,散发出幽蓝色的冷光,将她的影子映在凹凸不平的洞壁上,扭曲得像某种深海生物。

她不知道游了多久。

黑暗、冰冷、压抑。只有前方那一点若有若无的光,指引着她继续向前。

然后——

她找到了那扇门。

石门半掩在岩壁的凹陷处,表面覆盖着厚厚的水垢。门楣上镌刻着一行拉丁文,字迹已被水汽侵蚀得有些模糊,但仍可辨认:

“Sapientia sola libertas est.”

智慧乃唯一自由。

Sherry伸手推开了那扇门。

门后是无尽的黑暗。

接着,她坠落。

坠落了很久很久。

然后,她便失去了意识。

“小姐,醒醒……”


四、黑猫

那个声音将她从深沉的黑暗中托起。

起初只是一根极细的线,牵着她向上。随后是第二根、第三根,像是在编织一张网,将她散落在深渊各处的意识碎片一一打捞、拼合。

Sherry睁开眼。

首先映入视线的是一盏悬挂在半空中的玻璃风灯,散发着暖黄色的光芒。

她身下是冰冷的石板,铺着一层薄薄的灰尘。头顶是岩石的穹隆,高达二十余米,有天然的孔洞贯通崖顶,一束不知是月光还是日光的光柱从那里垂直射入,落在不远处一汪墨绿色的深潭上。

潭水平静无波,清澈得能看见水底的卵石和某种银白色的小鱼。

潭畔泊着一艘小艇,艇首悬挂着一盏与岩洞里那盏相同的玻璃风灯,正无声地亮着。

而在她身边——

蹲坐着一只黑猫。

它皮毛乌黑发亮,四爪雪白,如同穿着白色短靴;眼睛一绿一蓝,此刻正安静地注视着她,目光里带着一种老派管家的从容与耐心。

它穿着一件剪裁考究的黑色呢绒学者服,领口镶着银色丝线绣成的槲寄生花纹。金丝单边眼镜架在左眼前,用一条细银链挂在领口,垂在胸前,随着它的呼吸微微晃动。

Sherry盯着它看了三秒。

黑猫也盯着她看了三秒。

然后黑猫开口了:

“您终于醒了,小姐。”

它声音清晰,语调平和,吐字带着一种老式的优雅。

Sherry的大脑短暂地空白了一下。

“你……”

“会说话?”黑猫替她补完了后半句,语气里带着一丝见惯不怪的淡然,“是的,我会说话。这里很多东西都会说话。有些没有嘴的也会——比如那盏灯,不过它今天心情不太好,不太想搭理人。”

Sherry顺着它的目光看向那盏风灯。

灯沉默地亮着。

“我这是……”Sherry撑着石板坐起来,头还有些昏沉,“在哪?”

“潮痕古堡。”黑猫站起身,四只雪白的爪子无声地落在石板上,“确切地说,是古堡的‘入口’区域。您从镜月湖的水下通道潜入,穿过了岩洞,在推开那扇石门后因为魔力震荡而短暂失去了意识。我感应到了您的到来,便来接应了。”

它一边说,一边走到Sherry面前,仰起头,用那双异色的瞳孔打量着她。

“自我介绍,”它微微颔首,“我是米奥。潮痕古堡现任助理司书,或者说——助理图书管理员。目前全权代理古堡的管理和接待工作。”

“米……奥?”Sherry重复了一遍这个名字。

“是的。米奥。”黑猫——米奥——用前爪扶了扶单边眼镜,“没有姓氏,就叫米奥。”

Sherry沉默了几秒,消化着眼前的信息。

一只会说话、穿衣服、戴单边眼镜、自称助理司书的黑猫。

一座沉在水下的古堡。

一张只有自己和星璇能看到的邀请函。

她深吸一口气。

“那,米奥先生,”她用了一个尊敬的称呼,慢慢站起身来,“请问——您邀请我来这里,是为了什么?”

米奥的眼——那只绿色的——微微弯了一下,像是一个微笑。

“不是我邀请您来的,小姐。”它说,“是‘潮痕’邀请您的。”

“潮痕?”

“这座古堡的名字,也是它的意志。”米奥转过身,朝岩洞北壁走去,“请随我来。这里不是说话的地方。”

Sherry跟着它,穿过岩洞,走到北壁那扇拱门前。

门楣上镌刻着那句她已经在石门上见过的拉丁文:“Sapientia sola libertas est.”

而门已经不存在了。

取而代之的,是一道由数百本大小不一的书籍垒成的“书门”。那些书脊朝外,颜色从深棕到暗红不等,金粉烫印的书名在微光中闪烁,像无数双沉默的眼睛。

米奥走到门框左侧,用雪白的右前爪轻轻叩了叩第三块石砖。

书们“嗡”的一声散开了。

它们在半空中盘旋片刻,像一群被惊动的鸟,让出一条足够两人并排通过的通道。Sherry跟着米奥走过时,有几本书凑到她身边,好奇地翻开书页,露出里面密密麻麻的、她看不懂的文字。

“礼貌些,各位。”米奥头也不回地说。

那些书“呼”地散开,各自飞回原位,重新垒成那道密不透风的书门。

Sherry回头看了一眼,书门已经恢复了原样,仿佛从未打开过。

“这边请。”米奥的声音从前方传来,“这里是中层,漩涡回廊,也是古堡的核心区域。”

Sherry停下脚步,发出一声极轻的惊叹。

这是一个环形结构的巨大回廊,环绕着中央的天井而建。天井直径约十五米,底部是底层的碧色海水。而天井中央,一个直径约三米的漩涡正在缓慢旋转,永不停止。漩涡中心深不见底,隐约可见幽蓝的光芒闪烁,像一只深邃的眼瞳。

Sherry向下看去,水底的世界诡异而令人着迷——书架仍矗立原地,只是下半截已没入水中。书册被封装在透明的水晶匣内,有淡青色的小鱼成群结队穿行于书架之间。更深处,有一只巨大的砗磲盘踞在螺旋楼梯的基座上,壳口微张,露出内壁珍珠质的光泽。

“这是古堡的下层,淹没之厅。”米奥见她向下看,便介绍道,“主要收藏海洋魔法、潮汐预言、水元素召唤类典籍。其中最著名的是一套十二卷的《深海之书》,由人鱼贤者用海藻纸写成,遇水才会显现文字。不过……”它顿了顿,“那套书如今沉在最深处的水底书架底层,目测您暂时还取不到。”

“暂时?”Sherry注意到了它的措辞。

米奥没有回答,只是继续往前走。

回廊宽约四米,两侧排列着高达五米的黑檀木书架。架柱雕刻着繁复的藤蔓纹样,藤蔓间隐藏着各种传说中的魔法生物——双足飞龙、狮鹫、独角兽、凤凰。

Sherry眼睁睁地看着一条藤蔓上的双足飞龙微微转过头,用琥珀色的眼睛瞥了她一眼,然后又懒洋洋地缩了回去。

“它们每逢子夜会在书架表面游走,巡视藏书是否安好。”米奥解释,“现在是白天,它们比较……懈怠。”

回廊中悬浮着许多书籍,少则三五本,多则数十本,悠悠飘荡,宛如水中游鱼。有生人走近,它们便礼貌地向两侧让开。偶尔有一本胆大的凑到Sherry跟前,翻开书页,展示自己的目录。

米奥用爪子轻轻将那本书推开:“这位是客人,不是读者。至少……暂时不是。别推销自己了,回去。”

那本书似乎哼了一声,然后不情不愿地飘走了。

Sherry忍不住笑了一下。

“米奥先生,”她问,“您说您是‘助理司书’。那正式的图书管理员呢?”

米奥沉默了几秒。

“上一任大图书管理员,”它缓缓开口,“已经离开很多年了。”

“离开?”

“离开。”米奥重复了一遍这个词,没有再解释。

Sherry也没有追问。

他们沿着回廊走了一段。米奥不时停下,用爪子指向某个书架,介绍里面的藏书。

“那么,”米奥最终在一扇不起眼的橡木小门前停下,“在继续参观之前,我想先和您谈谈——为什么您会来到这里。”

它推开门。

门后是一间不大的书房,铺着深红色羊毛地毯,地毯花纹已部分磨损,但清洗得很干净。靠墙是一张胡桃木书桌,桌面上整齐堆放着一尺高的书册。窗边摆放着一把扶手椅,椅面蒙着墨绿色天鹅绒,把手已磨得发亮。

米奥跳上扶手椅,蹲坐好,尾巴卷过前爪,仰头看着Sherry。

“小姐,”它说,“您看到的那张邀请函,并非谁特意放在您那里的。它是‘潮痕’——古堡的意志——在等待了三百多年后,终于找到了它能‘说话’的对象。”

“说话的对象?”Sherry蹙眉,“可是……为什么是我?”

“这个问题,或许要等到您成为正式的大图书管理员之后,才能找到答案。”米奥说,“而我——我只能告诉您,‘被潮痕选中’的人,并非随机。它选择了您,必然有它的理由。”

它站起身,从扶手椅上跳下来,走到书桌前,用爪子拉开一个抽屉。

抽屉里静静躺着一个八音盒。

那八音盒不大,约莫两只手掌并拢的尺寸。木质的表面雕刻着精细的花纹,图案是某种藤蔓与星辰的交织。最为引人注目的是它的顶部——五个锁孔呈环形排列,大小相同,形状各异。有的锁孔是星形,有的是月牙形,有的是水滴形,有的是菱形,最后一个则是某种Sherry不认识的、像是火焰又像是羽翼的符号。

五个锁孔,空荡荡的,等待着它们的钥匙。

“这是上一任大图书管理员留下的。”米奥的声音变得郑重,“他离开前,将五份‘故事’散落在不同的层级中,并锁上了这个八音盒。他留下的遗言是——只有集齐五份‘故事’的人,才能打开八音盒,得到他的‘认可’,成为新一任的大图书管理员。”

“故事?”Sherry重复。

“是的,故事。”米奥说,“这是我们对那些‘遗物’的称呼。每一份故事都藏在一个特定的地点,由某种力量守护。只有被选中的人才能找到它们、取回它们。”

它看着Sherry,那双异色的瞳孔里映着书房里昏暗的烛光。

“小姐,我想与您缔结契约。”

Sherry微微一怔。

“我希望您能成为潮痕古堡的实习图书管理员。”米奥一字一句地说,“寻回那五份‘故事’,打开八音盒,得到前任大图书管理员的认可,成为新一任的大图书管理员。届时,您将完全掌握整座图书馆——它的所有藏书、所有魔法、所有秘密。”

它顿了顿。

“而我——也能完成复兴这座古堡的使命。”

Sherry沉默了很久。

她看着那个八音盒,看着那五个空荡荡的锁孔。她想象着那些“故事”散落在未知的层级中,等待着被找回。

一座图书馆。

全部归她所有。

这个诱惑太大了。

“我需要做什么?”她问。

米奥那只蓝色的眼睛亮了一下。

“接受契约。”它说,“然后,我作为您的向导和助手,陪您一起寻回五份‘故事’。每找回来一份,您能接触的权限就高一些,能调用的魔法也就更多、更强。同时——”它看了一眼Sherry的胸口,“您自身的魔力也会随之开发。”

Sherry下意识地捂住胸口。

“您已经感觉到了吧?”米奥说,“您体内的某种东西,正在苏醒。”

Sherry没有回答。

但她确实感觉到了——从踏入潮痕古堡的那一刻起,从她在这间书房里站定的那一刻起,胸口深处有什么东西在微微发烫,像一颗沉睡的种子,在春天的第一个雨夜里,悄然松动。

“我同意。”她说。

米奥点点头。

它走到Sherry面前,仰起头,将一只雪白的前爪轻轻搭在她的手背上。

“那么——契约成立。”

一股微弱的热流从它的爪尖传来,沿着Sherry的血管向上流淌,最终汇聚在胸口。那热度只持续了几秒,然后消散,无影无踪。

什么也没有发生。

没有闪光,没有爆炸,没有魔法阵。

只有一只黑猫安静地站在她面前,眼神平静地看着她。

“好了。”米奥收回爪子,“从现在起,您是潮痕古堡的实习图书管理员了。”

“……就这样?”Sherry有些不确定。

“就这样。”米奥说,“契约是一种承诺,不是一种法术。它不需要烟花。”

它转过身。

“那么,接下来我带您继续参观。还有很多地方没看呢——上层、穹顶观测台、天文望远镜、以及……”它顿了顿,语气微沉,“禁书区。不过那个区域,目前您的权限还不够进入。”

Sherry深吸一口气,将那个八音盒、那五个锁孔、那五份散落的“故事”,以及“大图书管理员”这个头衔,暂时压进心底。

“好。”她说,“麻烦您了,米奥先生。”


五、穹顶之下

米奥带着Sherry沿着螺旋楼梯继续向上。

穿过中层,他们来到第三层。

这一层的中央是一个八边形的宽阔大厅,顶部是穹隆结构。穹隆以肋拱支撑,肋拱交汇处悬挂着一盏巨大的青铜枝形吊灯,吊灯上点燃着永不熄灭的淡蓝色魔法火焰。那火焰无声无息,却将整个大厅照得亮如白昼。

大厅八面墙壁,各开一扇巨大的玻璃窗。窗棂是精雕细刻的铅条,拼出繁复的几何图案。透过玻璃,可以看到外面的海底世界。

Sherry 往外看去,窗外的海水深邃而澄澈,呈蓝绿色。阳光透过海水折射下来,形成摇曳的光斑。银色的鲱鱼群如流动的云朵从窗前滑过,暗红色的真鲷拖着长长的背鳍,慢悠悠地游弋。更远处,一只海龟的背甲上生着对称的魔法阵纹样,发着微光。

她不知不觉走到窗前,手指轻轻触碰冰凉的玻璃。

“这里……”她轻声说,“好美。”

“第七任大图书管理员阿方索最喜欢这个位置。”米奥蹲坐在她脚边,“他曾经在这里连续观察潮汐变化三十六小时,记录了一整本关于潮汐魔法与月相关系的笔记。”

Sherry从窗前转过头:“阿方索就是上一任?”

“不。”米奥摇头,“阿方索是第七任。上一任——确切地说,是那些‘故事’的散布者——是第十三任。”

“十三任。”Sherry重复。

“有些数字在某些文化里不太吉利。”米奥语气平淡,“但对潮痕来说,数字只是数字。”

它站起身,朝大厅周围的八个侧室走去。

“这些侧室分别收藏不同门类的高阶魔法典籍——星辰魔法、时空理论、元素本源、生命奥秘、精神领域、预言学派、禁制与封印、上古语言。”它一边走一边介绍,“每一扇门都需要触发机关,当然,方式各不相同。有的需要说出正确口令,有的需要画出指定符文,有的甚至需要答对一道魔法谜题。”

Sherry跟在后头,目光扫过那些或朴素或华丽的门扉。

“目前以您的权限,”米奥说,“只能进入前三间——星辰魔法、时空理论和元素本源。其余的,需要等您找到更多‘故事’之后才能解锁。”

它带着Sherry走到东侧的一扇门前。

门的材质是某种深色的硬木,表面没有任何装饰,只有一个极浅的凹痕,像是被什么东西压出来的。

“星辰魔法室。”米奥说,“口令是:‘以星为墨’。”

Sherry重复了一遍口令。

门无声地滑开了。

门后是一间不大不小的圆形房间,墙壁上镶嵌着各种星图和黄铜仪器。房间中央是一张圆桌,桌上摊开着一本厚厚的书册,书页上画着复杂的星座图谱。

米奥走到圆桌边,用爪子拍了拍那本书册。

“这是专属于您的魔法书。”它说,“目前,您能接触的只有初级。随着您找回来的‘故事’越来越多,您能解锁的中级、高级魔法也会越来越多。”

Sherry走到桌边,手指轻轻触碰书册的封面。

封面是深蓝色的,像午夜的天穹,上面用银色的线绣着星座的图案。没有标题,没有任何文字。

她翻开第一页。

第一页是空白的。

第二页也是空白的。

整本书——全都是空白的。

Sherry抬起头,疑惑地看向米奥。

“它还没有被‘写’出来。”米奥说,“魔法书不是用来‘读’的,是用来‘写’的。当您获得新的能力,它就会自动补充这一份内容。现在它是空白的,因为您的力量——从潮痕的角度看——还是零。”

Sherry合上书。

“我还有一个问题。”她说。

“请讲。”

“我的魔法……和我原有的能力,是什么关系?”

米奥沉默了片刻,似乎在组织语言。

“您原有的能力是一种与生俱来的天赋,不属于魔法体系。”它说,“潮痕赋予您的魔法,是另一种东西。它们可以叠加,可以互补,甚至可以互相增强。这一点,在您掌握了‘量子共鸣’之后,会变得更加明显。”

“量子共鸣?”

“这是您成为潮痕实习图书管理员后获得的第一个能力。”米奥说,“简单来说——魔法能可以与您自身的量子能量叠加生效。原先需要接触才能发动的量子湮灭,在拥有法杖之后,可以改为用法杖锁定。射程、精度、可控性都会大幅提升。”

Sherry沉默了。

“此外,”米奥补充道,“以您目前的权限,最多可以随身携带三本不同类型的魔法书。等到权限升级之后,您可以直接从任何地方召唤您想要的书——不需要随身携带,不需要提前准备。”

Sherry将魔法书合上,抱在怀里。

“米奥先生,”她说,“我还有一件事想确认。”

“请说。”

“关于那张邀请函——只有被潮痕选中的人才能看到上面的字。这意味着,我不应该向任何人透露我的身份,对吗?”

米奥那只绿色的眼睛微微眯了一下,像是在微笑。

“聪明的小姐。”它说,“是的。实习图书管理员的身份、潮痕古堡的信息,都不能随意泄露。这不是不信任谁的问题,而是——”

“潮痕的意志。”Sherry替它说完了。

“没错。”

Sherry低下头,看着怀里那本空白的魔法书。

她想到了Annie——那个已经成为枪之魔法少女、每天兴高采烈去练枪的姐姐。

她想到了星璇——那个坐在书房里,为她破译古书中那些晦涩拉丁文的小修女。

她想到了那张羊皮纸。

被命运选中之人 谨启。

也许是。

也许不是。

但无论如何——她已经做出了选择。

“米奥先生,”Sherry抬起头,湛蓝的眼眸里映着魔法火焰幽蓝的光,“我可以先离开古堡,回去处理一些事情吗?有些事我必须……和一个人商量。”

“当然。”米奥说,“潮痕不会囚禁任何人。来去自由——这是初代大图书管理员定下的规矩之一。”

它从圆桌边站起身,朝门口走去。

“我送您。”


六、重返

当Sherry再次从镜月湖中浮出水面时,天色已经微微发亮。

她没想到自己在古堡里待了那么久。

潜水装备还完好,时间似乎并没有过去太多。

但她的身体里多了一样东西,像是心脏旁边多了一颗小小的、温热的种子,安静地跳动着。

她换好衣服,匆匆穿过校园,朝神学院走去。

清晨的空气微凉,草地上还挂着露水。远处有人在晨跑,脚步声单调而有节奏。教学楼里已经亮起了灯,偶尔有一两个早起的教授从她身边经过,点头致意。

Sherry走在石板路上,怀里抱着用外套裹好的魔法书。

她需要见到星璇。

推开神学院那扇厚重的木门,穿过彩绘玻璃投下的斑斓光影,沿着那条狭窄的走廊走到尽头。

她敲了敲门。

“请进。”星璇的声音从里面传来,带着一丝沙哑——听起来像是熬了一整夜。

Sherry推门进去。

书房的灯还亮着。星璇坐在桌前,棕色的长发有些凌乱,那本古书摊在她面前,桌上多了好几张写满笔记的纸。台灯的光将她的影子拉得很长,投在对面的书架上,像一个安静的守卫。

“Sherry?”星璇抬起头,眼中闪过一丝惊讶,“你这么早……”

“星璇,”Sherry走到她面前,将那本魔法书从外套里取出来,放在桌上,“我去了潮痕古堡。我见到了米奥先生。我……成为了实习图书管理员。”

星璇怔了一下。

然后她笑了。

“坐下,慢慢说。”她站起身,走到窗边,拉开窗帘。

晨光涌进来。

Sherry坐下,将她在潮痕古堡的经历一五一十地告诉了星璇——从岩洞中的苏醒,到那只会说话的黑猫,到八音盒与五份“故事”,到那本空白的魔法书。

星璇安静地听着,时不时点头,偶尔插一两句追问。

“所以,”最后,星璇托着下巴说,“你现在是实习图书管理员。你的任务是找回五份‘故事’,打开八音盒,成为正式的大图书管理员。而这些‘故事’,很可能与魔法少女的预言有关。”

“至少我认为有。”Sherry说,“只是目前还没有确凿的证据。”

星璇靠在窗框上,双手抱胸,微微仰头看着天花板,似乎在思考什么。

过了片刻,她垂下目光。

“Sherry,”她说,“我破译了一些古书的内容。”

Sherry精神一振。

星璇回到桌前,翻开那本古书,指着其中一页。

“这本书虽然大部分是呓语,但有一些章节——非常零碎的、几乎被淹没在废话中的章节——提到了‘五份遗物’。”

“‘遗物’?”

“嗯。”星璇点头,“书中称它们为‘失落的篇章’,说它们散落在‘被遗忘的层级’中,由‘古老力量’守护。只有‘被选中之人’才能寻回它们,并将它们‘归位于空寂之环’。”

“空寂之环?”Sherry蹙眉。

“嗯……就是那个八音盒。”星璇说,“至少,我认为是的。”

她翻到另一页。

“还有一段提到了‘黑猫’。”她说,“书中说,‘瞳孔异色的守门者,将引导归途的旅人,直至最后一扇门扉关闭。’”

Sherry沉默了。

米奥正是瞳孔异色。

“所以,”星璇合上书,看着Sherry,“你走的路,可能和魔法少女的预言是同一个。或者说——魔法少女的预言,只是这本书里所记载的‘竞争’的一个变体。”

两人对视着,忽然,相视而笑。

“星璇,”Sherry说,“我会保密。我是魔法少女这一层身份——如果我是的话——我也会保密。但关于潮痕古堡,关于米奥先生,关于那些‘故事’……我需要你的帮助。”

“当然。”星璇伸出手,握住Sherry的手,“我说过的,我会帮你。”

她的手很暖。窗外,阳光已经完全升起来了,将整个书房照得明亮而温暖。

“那么,”星璇松开手,笑容里带着一丝顽皮,“现在的问题是——你是魔法少女吗?”

Sherry低下头,看着自己的手。

她能感觉到胸口那颗温热的东西在跳动——契约、魔法、还是别的什么,她说不清楚。

“我不知道。”她说,“但我想……我应该很快就会知道了。”

窗外的天空一片晴朗。

远处,操场上有人在跑步,教学楼里传来上课的铃声。一切如常。

Sherry深吸一口气,正想对星璇说什么,忽然,她胸口一热。

那股在古堡书房里感受过的暖流再次涌起,从心脏的位置向外扩散,沿着锁骨蔓延至肩胛,最后汇聚在颈窝处。光芒透过衣料隐隐透出,是温柔的湛蓝色,像海洋中最纯净的那一层水。

星璇退后半步,眼睛微微睁大。

光芒收敛。Sherry低头看去——自己的领口中央,不知何时多了一枚领结。那是简约的蝴蝶结样式,蝴蝶结是深蓝色的绸缎制成,正中央镶嵌着一颗宝石。

宝石是湛蓝色的,内部仿佛有微光流转,像是被封存了一小片夜空。

“这是……”Sherry抬手,指尖轻轻触碰宝石表面。

温热的。像刚被握在手心里过。

“魔力宝石。”一个耳熟的声音从她脚边传来。

Sherry和星璇同时低头。

黑猫米奥不知何时蹲坐在书房的门槛处,单边眼镜反射着台灯的光。它穿着一贯的黑色呢绒学者服,四只雪白的爪子收拢在身下,姿态从容得像是已经在那个位置待了一整个下午。

“米奥先生?!”Sherry惊讶,“您怎么跟来了?”

“契约达成之后,助理司书跟随实习管理员行动,是职责之一。”米奥站起身,迈着无声的步伐走进书房,跳过门槛,轻轻落在地毯上,“当然,如果您不希望我时刻出现,我可以‘隐形’。当然,不是真正的消失,而是让旁人无法注意到我的存在。大多数时候,只有您和同样被‘潮痕’认可的人能看见我,听懂我说的话。”

它看了一眼星璇。

“……就像这位小姐。”

星璇蹲下身,好奇地与米奥平视。她的目光在那一绿一蓝的瞳孔上停留了几秒,然后伸出手。

“我可以……摸一下吗?”她问,语气像在问一位老绅士能否借火。

米奥微微颔首。

星璇的指尖轻轻触了触它的头顶。猫毛柔软而温暖,带着一股淡淡的、像是旧书页和阳光混合的气息。

“好可爱。”星璇轻声说,脸上露出一个发自内心的笑。

“谢谢夸奖。”米奥面不改色,“不过,我们还是先谈正事比较好。”

它转向Sherry,用爪子点了点她领口的宝石。

“魔力宝石,潮痕契约的具象化。”它说,“它的存在意味着您正式成为了实习图书管理员。同时——”它顿了顿,“它也意味着,您是魔法少女了。”

Sherry深吸一口气。

虽然早有预感,但亲耳听到这句话从米奥口中说出,感觉还是不一样。

“我是……什么类型的魔法少女?”

“目前还不好说。”米奥摇头,“魔法少女的类型通常由她获得的第一份‘故事’决定。在您找到第一个‘故事’之前,您的魔法体系尚未定型。目前您拥有的,只有‘量子共鸣’这项固有能力——魔法能与您自身的量子能力叠加生效。”

它停顿了一下,似乎在组织语言。

“不过,有一件事是确定的。”它说,“作为潮痕选中的魔法少女,您有一套对应的……嗯……战斗装束。”

话音落下。

Sherry感到领口的宝石微微一热。

一股无形的力量从宝石中涌出,像水流一样覆盖了她的全身。那种感觉很奇异——不是被穿衣,更像是光线在皮肤上凝结成织物,温暖而轻柔。她下意识地闭上眼睛。

几秒后,热度褪去。

她睁开眼。

星璇正看着她,表情介于惊艳和忍俊不禁之间。

“……怎么了?”Sherry低头看向自己。

她穿着一件深蓝色的连衣裙,裙摆及膝,内衬是纯白色的,在裙摆边缘露出一道干净的边线。裙子的剪裁并不繁复,线条利落,带着一种古典的简约感。披风从肩头垂下,同是深蓝色,长度稍稍过腰,被领口的领结固定住。领结中央那颗湛蓝的宝石,此刻正安静地闪烁着微光。

一顶宽大的深蓝色魔法帽端端正正地戴在她头上,帽檐微微上翘,投下一小片阴影,将她莹蓝色的长发半遮半掩。

脚上是一双黑色的马丁靴,鞋带系得规规矩矩。

“这……”Sherry伸手摸了摸帽檐,触感是厚实的呢绒,做工精细,“这就是魔法少女的……”

“战斗服。”米奥接过话,“或者说,魔女装束。每个魔法少女的装束风格都不同,您的这套——说实话,相当传统。”

“传统?”星璇歪头。

“大帽子,披风,领结宝石,裙装,马丁靴。”米奥扳着爪子数,“这几乎是传统魔女的标配。和外面那些花里胡哨的不太一样。”

Sherry在原地转了一圈,裙摆微微扬起,露出内衬的白边。她踩了踩地面,马丁靴的鞋底与石板碰撞发出清脆的声响。

“还挺……舒服的。”她诚实地评价,“而且不碍事。”

“那就好。”米奥说,“这套装束可以随时召唤和收回,只需要集中注意力触碰魔力宝石即可。平时您仍然穿便服就好。”

Sherry试着集中注意力,想象衣服消失。

宝石闪动,光线流转,她又回到了进门时的便服。

再想,宝石再次闪动,魔女装束重新出现。

“很方便。”她评价。

“好厉害……”星璇小声说,眼睛里闪着光,“我也想要一套。”

“您不是魔法少女。”米奥语气平淡,“不过,如果您愿意,我可以帮您向古堡申请一个‘常驻访客’的身份。这样您进出潮痕不会被结界排斥,也能看到更多常人看不到的东西。”

星璇眨眨眼,蓝色的眸子亮了一下:“真的可以吗?”

“需要走流程。”米奥说,“不过以您破译古书的能力和对潮痕的了解程度,问题不大。”

星璇双手合十,无声地做了一个耶的口型。

“那么,”米奥跳到房间中央的书桌上,蹲坐好,将尾巴规规矩矩地卷过前爪,“我们说回正题。关于‘故事’。”

它看向Sherry。

“第一个‘故事’的线索,其实已经在这位小姐——”它朝星璇微微颔首,“——破译的那本古书里出现过。只是当时你们没有意识到那是指向‘故事’的。”

星璇一怔,随即转身扑向那本暗褐色封面的古书,飞快地翻动书页。

“哪里?哪一段?”

“第四章第七节。”米奥说,“‘水与火相交之处,旧日之钟沉眠。待指针逆行,门扉自启。’”

星璇的手指停在那一页。

“这一段……我看到了,但我不明白‘水与火相交之处’是什么意思。”她说,“水与火怎么可能相交?”

“在物理意义上不可能。”米奥说,“但在魔法意义上,‘水与火相交’往往指的是一种特定的地理或能量特征——比如温泉、火山湖、地热喷口、或者……”它顿了顿,“某个同时存在极端高温和大量水汽的地方。”

Sherry思索片刻,忽然开口:“镜月湖的湖底?”

米奥摇头:“镜月湖是入口,不是故事所在地。嗯……第一个‘故事’的名字是——”它说,“《余烬与潮汐》。”

“听起来像一首诗。”星璇说。

“也许吧。”米奥说。

Sherry沉默了片刻。

“那我呢?”星璇问,“我能做什么?”

米奥看着她,异色的瞳孔微微眯起。

“您能做的,比您想象的要更多。”它说,“首先,您需要继续破译那本古书——书里可能不止有第一个故事的线索。其次,当Sherry小姐外出执行任务时,您可以作为‘后方支援’与她保持联系。古书里有一章专门讲‘通讯符文’,如果您能将它复现出来,将极大地方便我们的行动。”

星璇握紧拳头,用力点头。

“对了,”星璇突然看向Sherry,“关于你魔法少女的身份——你打算告诉Annie吗?”

Sherry沉默了。

Annie已经是枪之魔法少女。如果告诉她,她一定会想方设法参与进来。这不一定是坏事,但……

“暂时不。”Sherry说,“至少等我弄清楚第一个‘故事’到底是什么,以及魔法少女角逐的规则到底是怎么运作的之后。在此之前,我不想把她卷进来。”

“明智。”米奥评价,“魔法少女之间的竞争,有时候比外人想象的更复杂。多一个盟友固然好,但多一个暴露的弱点,也同样危险。”

它从书桌上跳下来。

“那么,计划如下。”它说,“Sherry小姐常驻潮痕古堡,以‘实习图书管理员’的身份熟悉环境、学习基础魔法。星璇小姐继续破译古书,寻找后续故事的线索。我负责巡逻、联络和看家。”

“等一下,”Sherry举起手,“‘常驻潮痕古堡’是什么意思?我还要上课,还有调查员的工作……”

“古堡的时间流速与外界不同。”米奥说,“您在那里待三天,外界可能只过去了一天。而且,古堡内有专门的书房和冥想室,适合学习魔法。您的宿舍太挤了,还有一位好奇心过强的姐姐——恕我直言,您在那里很难保密。”

Sherry想了想,点头。

“那我怎么跟Annie说?”

“就说您找到了一份兼职。”星璇插嘴,笑容里带着一丝狡黠,“在图书馆整理古籍。反正您本来就经常泡图书馆,她不会起疑的。”

“……也是。”

三个人——不,两个人一只猫——在晨光中相视而笑。

窗外,太阳已经完全升起来了。

金色的阳光洒在神学院的彩色玻璃上,折射出斑斓的光点,落在书桌、书架和那本暗褐色的古书上,像是为它镀上了一层古老的光晕。

“那么,”米奥站起身,抖了抖毛,将学者服的领口整理好,“事不宜迟。Sherry小姐,您先回寝室取一些必需品——换洗衣物、笔记本、您常用的调查工具。然后,我带您回潮痕古堡。”

它看了一眼星璇。

“星璇小姐,麻烦您把那本古书的相关章节复印一份,我会在古堡里继续研究。”

“好。”星璇已经开始翻找复印机。

Sherry走到门口,又回过头。

书房里,晨光温暖,尘埃在光柱中缓缓浮动。黑猫蹲坐在书桌上,姿态端正。星璇低头翻阅古书,棕色的发辫垂在肩头。

她忽然有一种很奇妙的、难以言说的感觉——

像是某个故事,从这一刻起,才真正开始。


除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License