Site-81的主任身處洛磯山脈裡的小屋中,遠離了基金會的控制。他坐在後院門廊上,享受著充滿活力的早晨。他深深地吸了一口氣,然後再一次,他邊微笑邊想著,與湖底下的暗房和長廊比起來,呼吸這裡的空氣是多麼令人愉快。他很喜歡Site-81,這無庸置疑,但Site-81非常老舊,有如一棟上古時期的建築。對研究與收容異常實體而言,那個地方非常傑出,但它完全沒有考量到舒適感。
然而,以上的那些都被掃到他腦海的邊緣。這位博士啜飲杯子裡的咖啡,懶惰地撥弄著手臂上的靜脈注射管。Karlyle讀著一位從基金會退休已久的老朋友送的書。他們在兩人都年輕時就認識了,在被迫消除與外面世界的連結後彼此合作。甚至,他們有可能打算在某個時候以自己的方式訴說對彼此的愛。
當另一位離開基金會的時候到來時,他給了Karlyle一本書和一個約定──在Aktus終於退休後再次碰面,並一起搬家到義大利。他們一直都很愛義大利。Karlyle那時笑了,他接過書並做出了約定。
「但誰知道呢,Karlyle,」Oliver曾經說。「也許你會永遠在這裡,直到太陽停止發亮為止都待在實驗室裡絞盡腦汁。老天都知道你在過去三十年裡從未變老。」
Karlyle大笑,叫他的朋友等他。在Oliver Rights離開基金會後,他搬到了明尼亞波里斯,那是他出生的地方。他在二十三年後的一個晚上逝世。那晚,一場暴風雪切斷了電力,而他在空空如也的壁爐旁失溫而死,享年87歲。
同一個夜晚,Karlyle核准了將一個項目升級至Keter的命令。他之後才聽聞Oliver的死訊。在帶著書離開以前,他再也沒有回想過。
他的視線放在書皮內部的手寫題詞上。致我最愛的朋友。他讀起書本。
他不斷地讀到早晨結束,並開始思考午餐該吃什麼。他站起來,又慢又小心地走到門前並進屋。書本被留在他椅子旁的桌子上。
老博士稍微地伸個懶腰,然後開始做起三明治。他準備了黑麥吐司與火雞,是他還在工作時的標準。舊習慣很難改掉,但至少他在這裡可以有一些切達起司搭配三明治。
他的手伸向冰箱,卻在注意到站在房間角落的男人後停下。
「啊。」Karlyle慢慢地說。他邊說邊拉開冰箱門。「你來陪我真是太好了。有點早,要我回去?才過了兩天,我感覺。」
男人靜靜地站著,一動也不動。Karlyle在關上冰箱門時環顧四周,這才注意到還有很多其他人靠著小屋的牆邊站立。有些人穿著西裝,有些穿著便衣,更有些攜帶武器。每一個人都無聲地站著並直視正前方。老人搖了搖頭,他大笑。「不需要這些禮節,我想。除了我與你們之外,這裡沒有其他人。」
他們隨後全都離開房間,除了一人。
「啊,好了。」Karlyle走進客廳並坐到沙發上。他的靜脈注射管仍然插在手臂裡,管子連接到掛在金屬架上的袋子上,並跟著他到任何地方。它滾過硬木地板並移到他旁邊,靜悄悄地看著整個場面。「來坐啊,Joshua。我很確定這需要一點時間。」
男人不費力且無聲地走過地板。他走向一張椅子並坐下,眼睛直直地看著房間對面的Karlyle。老博士繼續吃著他的三明治。
「所以,」他在每一口之間說。「像你們這種人來找我有什麼事嗎?甚至還有隨行人員。」他小心地舔了嘴唇。「他們就不能叫小一點的人物來找Aktus這樣的老人嗎?」他大笑。
另一位男人沒有動作。「我來這裡不是因為你是誰,是因為你曾經是誰。」
Karlyle停頓,長得足以讓他吞嚥,然後繼續享用餐點。「Joshua,那句話是拐一個彎說我不再是以前的我。你知道,而這位老骨頭也知道。」他又再咬了一口。「我想你去別的地方會比較順利,朋友。」
不舒服的沉默被窗外的鳥叫聲打破。Karlyle想要向聲音的方向看去,但他知道最好不要讓男人離開視線。
「Jean,我在找的不是那位男人的年輕歲月,」男人說。「也不是他掌握武器的天賦。」
Karlyle聳肩,他脖子後的毛髮站起。「那你為什麼來這裡?」
「你知道的。」
「告訴我吧,我很老了。」
另外一位男人站起。「兩年內收容了二十五個實體。對更多實體的行為、異常特徵的廣泛知識。為了加強收容,操縱異常實體相關情況的能力。了解——」他暫停。「那些實體的,潛力。你加入分級委員會的理由。他們讓你領導它的理由。Site 81在你任期內從未有過收容失效的理由。」
Karlyle點頭並吞下最後一口三明治。「你說的這些東西都是真的。我不會否認事實。然而,Joshua,我是位老人了,我已經生疏了。他們肯定在找我以外的其他人。」
「他們並沒有。」
「如果我拒絕呢?我對我現在的工作很滿意,也非常享受。我已經把那些東西拋到腦後了,Joshua。我是位科學人,一直都是。萬一我也不想要拋棄這個身分怎麼辦?」
「Jean,這是一份舊債。你知道這份債終究會到期的。歲月流逝,大多數的人被年紀所壓垮的同時,有些人卻沒有。病魔奪走了許多生命,但有些人堅持至今。你忘記為什麼了嗎?」
Karlyle的眼神暗了下來。「不。我沒有忘記。」
Joshua移動到門邊。「那麼,我會告訴議會你的決定。很不幸地,你的休假結束了。你的治療可以在我們的安全設施內繼續進行。」
「你覺得一位老人有潛逃的風險?」
「不,」Joshua說。「我覺得你有。」
大量的特工隨即出現,收集起Karlyle的個人物品並將它們搬至屋外。他們將老人從客廳移到前門,並護送他進在外等待的車輛。他在踏進車子內時停了下來,他轉頭面對Joshua。「這值得嗎?」
「誰知道呢?」Joshua說,在他進入車輛後關上車門。「Jean,當你面對高山時,你只是個人類。結束後,你可以自己決定。」
車輛駛離小屋並開始沿著長長的道路下山。Joshua則是待了一陣子,他對小屋進行了最後一次搜索,然後他也離開了。
後院門廊上,一本攤開的書本在桌上躺著,沒有人注意到它。那是曾經夢想著可以一起生活的兩人間,他們愛情的象徵。如今,夢想破碎、記憶喪失,但書本倖存了,作為對必要事物的試煉。
那天晚上下了場雨。
收容間的大門慢慢地滑開,然後一位女人先踏了進來。Zena認識這位,她是在自己傷心時會與自己聊天的醫生。但她不認識在女人身後,穿著白大衣、深色眼睛,還有亮亮的頭頂的男人。他向她微笑,而她以微笑回應。他看起來沒那麼恐怖。
「Zena,」她的醫生說。「這位是Aktus博士。他來是想要問你一些問題,然後我們想要你幫忙做點事,可以嗎?」
小女孩邊點頭邊坐直。Jora博士走到了房間的角落,而Aktus博士向前並坐到了Zena面前的椅子上。他伸出手,與小女孩握了手。
「你好呀,Zena,我的名字是Karlyle。」他再次對她微笑。「你想怎麼叫我都可以。」
Zena想了一下,然後打起精神。「我可以叫你Karl嗎?」
Karlyle大笑。「Karl可以。」他從大衣的口袋中拿出一顆紅球,將它拿在Zena面前。「Zena,Wensley博士告訴我你非常特別。我覺得很有趣,而我想知道你有多麼特別。」他將球拋起後接住。「你可以把這顆球變成藍色的嗎?」
他將球交給Zena。小女孩接過球,看著它,搖了搖幾次,然後低下頭。「除非有人叫我做,不然我幾乎沒辦法做任何事。」
Karlyle點點頭。「沒有關係,Zena,請把這顆球變成藍色的。」
小女孩的雙眼稍微跳動,然後她緊捏住球。當她放開時,球變成了紫色。她咳了幾聲後將球交給Aktus,眼睛盯著地板。
Karlyle微笑。「不需要覺得羞恥,親愛的。」他邊拿走球邊說。「你做得很好。」
她抬頭。「但這不是藍色。」
博士稍微地側過頭。「不是嗎?在我看起來,它滿藍的。你知道,取決於你從哪裡來,不同的詞彙會有不同的意義。對我來說,我看到藍色。我的親人們也會說這是藍色。」
Zena瞇起眼睛。「這⋯⋯這是藍色?」
Karlyle點頭。「就如我的名字是Aktus博士一樣確定。現在,幫我把這顆藍色的球變成紫色。」
Zena再次盯著球,然後緊緊捏住。當她放開時,它變成了綠色。她好奇地向上看著Karlyle。老人露出微笑。
「很好,Zena。」他說,慢慢地點著頭。「非常好。」
:root {
--sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19);
--body-width-on-desktop: 45.75rem;
}
@media only screen and (min-width: 48.0625rem) {
#side-bar .close-menu {
display: block;
position: fixed;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
background: unset;
opacity: 1;
pointer-events: all;
z-index: -1;
}
#side-bar .close-menu img {
color: transparent;
}
#side-bar .close-menu::before,
#side-bar .close-menu::after {
content: "";
box-sizing: border-box;
position: fixed;
display: block;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
padding: 0;
margin: 0;
text-align: center;
pointer-events: all;
cursor: pointer;
transition:
opacity var(--sidebar-transition-timing);
}
#side-bar .close-menu::before {
--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E");
z-index: -1;
background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important;
-webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: 50% 50%;
mask-position: 50% 50%;
-webkit-mask-size: 60%;
mask-size: 60%;
}
#side-bar .close-menu::after {
z-index: -2;
background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important;
border-radius: var(--toggle-roundness, 50%);
border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid;
}
#side-bar:focus-within .close-menu,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu {
pointer-events: none;
}
#side-bar:focus-within .close-menu::before,
#side-bar:focus-within .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar {
display: block;
position: fixed;
top: 0;
left: calc(var(--sidebar-width-on-desktop)*-1);
z-index: 10;
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
margin-top: 0;
}
#side-bar:focus-within {
left: 0;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover {
left: 0;
}
#side-bar .side-block {
margin-top: 1rem;
background-color: rgb(0, 0, 0, 0);
border-radius: 0;
border-left-width: 0px;
border-right-width: 0px;
}
#main-content::before {
content: "";
display: block;
position: fixed;
top: 0;
right: 0;
z-index: -1;
opacity: 0;
transition:
opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
margin-left: var(--sidebar-width-on-desktop);
background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat;
padding-right: 0;
width: 100%;
height: 100vh;
pointer-events: none;
z-index: 99;
}
#side-bar:focus-within ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
@supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar {
padding: inherit;
} }
#content-wrap {
display: flex;
flex-direction: row;
width: calc(100vw - (100vw - 100%));
min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem)));
flex-grow: 2;
height: auto;
position: relative;
margin: 0 auto;
max-width: inherit;
}
#main-content {
width: 100%;
position: initial;
max-height: 100%;
padding: 2rem 1rem;
max-width: var(--body-width-on-desktop, 45.75rem);
margin: 0 auto;
}
#page-content {
max-width: min(90vw, var(--body-width-on-desktop, 45.75rem));
}
@supports (-webkit-hyphens:none) {
#side-bar {
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
padding-right: 0;
background-color: rgb(0, 0, 0, 0);
pointer-events: all;
overflow-x: visible;
overflow-y: visible;
z-index: 999;
}
#side-bar::-webkit-scrollbar {
opacity: 0;
-webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
}
#side-bar .close-menu::before {
z-index: 999;
}
#side-bar .close-menu::after {
z-index: 998;
}
#side-bar:hover .close-menu::before,
#side-bar:hover .close-menu::after {
opacity: 0;
}
#side-bar:hover {
left: 0;
background-color: rgba(var(--swatch-menubg-color), 1);
padding-right: 0;
}
#side-bar:hover::-webkit-scrollbar {
opacity: 1;
}
#side-bar:hover~#main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
}
}
@supports(display: grid) {
:root {
/* header measurements */
--header-height-on-desktop: 10rem;
--header-height-on-mobile: 10rem;
--header-h1-font-size: clamp(2rem, 5vw, 2.8125rem);
--header-h2-font-size: clamp(0.875rem, 3vw, 0.9375rem);
}
#header {
--search-textbox-text-color: var(--swatch-secondary-color);
background: none;
}
#header::before {
content: " ";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0.75rem;
background-image: var(--logo-image);
background-repeat: no-repeat;
background-position: center 0;
background-size: auto calc(var(--header-height-on-desktop) - 1.5rem);
opacity: 0.8;
pointer-events: none;
}
#header h1,
#header h2 {
margin: 0;
padding: 0;
width: 100%;
height: var(--header-height-on-desktop);
display: flex;
align-items: center;
justify-content: center;
display: flex;
align-items: center;
justify-content: center;
}
#header h1 a,
#header h1 a::before,
#header h2 span,
#header h2 span::before {
margin: 0;
padding: 0;
z-index: 0;
display: block;
text-align: center;
}
#header h1 {
z-index: 1;
}
#header h1 a::before,
#header h1 a::after {
content: var(--header-title);
}
#header h1 a::before {
color: rgb(var(--swatch-text-tertiary-color));
z-index: -1;
-webkit-text-stroke: 0.325rem rgb(var(--swatch-text-dark));
}
#header h1 a::after {
color: rgb(var(--swatch-headerh1-color));
z-index: 1;
}
#header h2 {
z-index: 0;
text-transform: uppercase;
pointer-events: none;
}
#header h2 span {
margin-top: calc(var(--header-height-on-mobile)/2 + var(--header-h1-font-size)/2 - 1.5em);
}
#header h2 span::before,
#header h2 span::after {
--wght: 600;
content: var(--header-subtitle);
position: absolute;
left: 50%;
transform: translateY(-50%) translateX(-50%);
width: 100%;
text-align: center;
}
#header h2 span::before {
-webkit-text-stroke: 0.25rem rgb(var(--swatch-text-dark));
}
#header h2 span::after {
color: rgb(var(--swatch-headerh2-color));
z-index: 1;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
color: rgba(0, 0, 0, 0);
}
@media (min-width: 36rem) {
#login-status {
flex-grow: 1;
left: 3%;
right: initial;
}
#login-status::before {
--mask-image: none;
background-color: transparent;
}
#login-status:not(:focus-within) {
color: rgb(var(--login-line-divider-color));
-webkit-user-select: initial;
-moz-user-select: initial;
-ms-user-select: initial;
user-select: initial;
}
#login-status #account-topbutton,
#login-status:not(:focus-within) #account-topbutton {
--clip-path:
polygon( 0 0, 100% 0, 100% 100%, 0 100% );
background-color: rgba(var(--login-arrow-color), 0);
}
#login-status #account-topbutton::before{
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(var(--login-arrow-color), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton:hover::before {
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
}
#login-status:not(:focus-within) #account-topbutton::after {
display: none;
}
#login-status:not(:focus-within) *:not(#account-topbutton):not([href*="account/messages"]) {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
pointer-events: all;
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status:not(:focus-within) *:not(#account-topbutton):not(#account-options):not([href*="account/messages"]) {
opacity: 1;
}
#login-status #my-account {
--wght: 300;
}
#account-options {
background: var(--gradient-header);
}
#search-top-box {
top: 1.5em;
right: 3%;
background: rgba(var(--search-focus-textbox-bg-color), 0.4);
box-shadow: calc(var(--search-height) / 2 * -1) 0 calc(var(--search-height) / 2) rgba(var(--search-focus-textbox-bg-color), 0.4);
}
#search-top-box:focus-within ~ #login-status {
opacity: 1;
}
#search-top-box::after {
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
#search-top-box:not(:focus-within)::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0% 100%
);
background-color: rgba(var(--search-icon-bg-color, --dark-accent), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#search-top-box:not(:focus-within):hover::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
background-color: rgb(var(--search-icon-hover-bg-color));
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) {
max-width: var(--search-width);
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
max-width: var(--search-width);
padding: 0 var(--search-height) 0 1em;
outline-width: 0;
background-color: rgb(var(--search-focus-textbox-bg-color), 0.35);
color: rgba(var(--search-textbox-text-color), 0.4);
cursor: pointer;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="submit"],
#search-top-box form[id="search-top-box-form"]:focus-within input[type="submit"] {
pointer-events: all;
border: none;
}
}
#page-title::after,
.meta-title::after,
#page-title::before,
.meta-title::before {
content: "";
flex-grow: 1;
height: 0.0625rem;
background: rgb(var(--swatch-primary));
}
#page-title::before,
.meta-title::before {
margin: auto 1.25rem auto auto;
}
}