To Olicus
/*
 
    Foxtrot Sigma-9 Theme
    [2022 Wikidot Theme]
    By Liryn
 
*/
 
/* FONTS */
 
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,800;1,800&display=swap');
 
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@700;800&display=swap');
 
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');
 
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
 
@import url('https://fonts.googleapis.com/css2?family=Sofia+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
 
@import url('https://rsms.me/inter/inter.css');
 
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@800;900&display=swap');
 
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');
 
/* VARIABLES */
 
:root {
 
    /* VARIABLES > Core */
 
    --header-title: "SCP Foundation";
    --header-subtitle: "SECURE, CONTAIN, PROTECT";
    --logo-img: url(https://scp-wiki.wikidot.com/local--files/theme:foxtrot/fxtrt-scp_logo_lightmode.svg);
    --darkmode-logo-img: url(https://scp-wiki.wikidot.com/local--files/theme:foxtrot/fxtrt-scp_logo_darkmode.svg);
    --logo-opacity: 14%;
 
    --head-font: 'Sans Normalcy';
    --ui-font: 'IBM Plex Sans';
    --mono-font: 'JetBrains Mono', 'Fira Code', monospace;
    --page-font: 'Inter', 'verdana';
    --base-font-size: 0.9rem;
    --page-font-size: 1rem;
 
    /* VARIABLES > Misc */
 
    --header-txt-color: #333333;
    --subheader-txt-color: rgb(var(--accent));
    --misc-txt-color: #464646;
    --link-txt-color: #E6283C;
    --link-hover-txt-color: white;
 
    /* VARIABLES > Color Accents */
 
    --accent: var(--acc-default);
 
    --acc-default: 59, 59, 59;
    --acc-wyoming: 142, 0, 18;
    --acc-canada: var(--acc-default);
    --acc-poland: 87, 44, 17;
    --acc-slothspit: 27, 60, 133;
    --acc-vanguard: 0, 153, 75;
    --acc-threshold: 121, 113, 130;
    --acc-overwatch: 28, 37, 56;
    --acc-spc: 0, 165, 200;
    --acc-fishing: 67, 111, 145;
    --acc-nightfall: 151, 0, 2;
    --acc-hybrasil: 27, 60, 133;
    --acc-goc: 39, 84, 149;
    --acc-spooky: 252, 112, 40;
 
    /* VARIABLES > BetterFootnotes */
 
    --fnColor: var(--link-txt-color);
    --fnLinger: 1s;
 
}
 
/* VARIABLES > Info Bar */
 
.info-container {
    --barColour: rgb(var(--accent));
    --linkColour: #EDEDED;
}
 
/* MAIN */
 
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}
 
body {
    font-family: var(--ui-font), sans-serif;
    font-size: var(--base-font-size);
    color: rgb(51, 51, 51);
    background-image: linear-gradient(to bottom, #e0e0e0, #fff 200px);
    text-rendering: optimizeLegibility;
    overflow-wrap: break-word;
}
 
div#container-wrap {
    background: none;
}
 
#content-wrap {
    margin: 2em auto 0;
}
 
#page-content {
    font-family: var(--page-font), var(--ui-font), sans-serif;
    font-size: var(--page-font-size);
    font-weight: 440;
}
 
#page-content strong {
    font-weight: 700;
}
 
tt,
.page-source,
pre,
#edit-page-textarea {
    font-family: var(--mono-font);
}
 
ol li {
    margin: 0 0 1em;
}
 
ul {
    margin: 1em 0;
}
 
li,
p {
    line-height: 1.5;
    text-underline-offset: 40%;
}
 
::selection {
    background: rgb(var(--accent));
    color: #fff;
}
 
/* Clicky links */
a,
a.newpage,
a:visited,
#side-bar a:visited {
    color: var(--link-txt-color);
}
 
a:hover,
a.newpage:hover,
a:visited:hover,
#side-bar a:visited:hover {
    color: var(--link-hover-txt-color);
    text-decoration: none;
    background-color: var(--link-txt-color);
}
 
a {
    transition-duration: 0.1s;
}
 
/* patch for sidebar media, collapsibles, ACS, info button and ayers module so link doesn't override */
#page-content .collapsible-block-folded a:hover,
#page-content .collapsible-block-unfolded-link a:hover,
#page-content .rate-box-with-credit-button .fa-info:hover,
#side-bar .side-block.media a:hover,
.danger-diamond a:hover {
    background: transparent;
}
 
.info-container .collapsible-block-folded .collapsible-block-link,
.info-container .collapsible-block-link {
    background: var(--linkColour) !important;
}
 
/* MAIN > Header */
 
div#header {
    background: none;
    height: 160px;
}
 
#header h1 span,
#header h2 span {
    font-size: 0;
    display: none;
}
 
#header h1 a::before,
#header h2::before {
    color: var(--header-txt-color);
    letter-spacing: 1px;
    font-family: var(--head-font), sans-serif !important;
    font-weight: 900;
    text-shadow: none;
}
 
#header h1 {
    margin-top: -0.3rem;
}
 
#header h1 a {
    width: fit-content;
    margin: auto;
}
 
#header h1 a::before {
    content: var(--header-title);
    font-size: 1.3em;
}
 
#header h2::before {
    content: var(--header-subtitle);
    font-family: var(--ui-font) !important;
    font-weight: 700;
    font-size: 1.4em;
    color: var(--misc-txt-color);
    line-height: 26px;
    margin-top: 0.35rem;
    display: block;
    text-transform: uppercase;
}
 
#header h1,
#header h2 {
    margin-left: 0;
    float: none;
    text-align: center;
}
 
#header h1 span,
#header h2 span {
    font-size: 0;
    display: none;
}
 
div#extra-div-1 {
    height: 160px;
    width: 100%;
    top: 7px;
    position: absolute;
    background: var(--logo-img) 10px 30px no-repeat;
    background-size: 130px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    z-index: -1;
    opacity: var(--logo-opacity);
}
 
/* MAIN > Header > Search Box */
 
#search-top-box-form>input[type=text] {
    display: none;
}
 
#search-top-box-input,
#search-top-box-input:hover,
#search-top-box-input:focus,
#search-top-box-form input[type=submit],
#search-top-box-form input[type=submit]:hover,
#search-top-box-form input[type=submit]:focus {
    border: none;
    background: rgb(var(--accent));
    box-shadow: none;
    border-radius: 5px !important;
    color: #efefef;
    font-family: var(--ui-font);
    font-size: calc(var(--page-font-size) - 10%);
}
 
#search-top-box input.empty {
    color: #999999;
}
 
#search-top-box {
    position: absolute;
    top: 47px;
    width: unset;
}
 
/* MAIN > Header > Top Bar */
 
#top-bar,
#top-bar a {
    top: 10rem;
}
 
#header #top-bar ul {
    border-radius: 10px;
    border: none;
    background: rgb(var(--accent));
    padding-left: 15px;
    padding-right: 15px;
}
 
#header #top-bar a {
    color: white;
    background: rgb(var(--accent));
    font-weight: bold;
}
 
#header #top-bar ul li ul {
    padding: 0px;
    border-radius: 0px;
}
 
#top-bar ul li.sfhover a,
#top-bar ul li:hover a {
    border-left: solid 1px #FFF;
    border-right: solid 1px #FFF;
}
 
#top-bar ul li ul li a:hover {
    color: rgba(255, 255, 255, 0.83) !important;
    line-height: 230%;
    text-indent: 3px;
}
 
#top-bar {
    display: flex;
    justify-content: center;
    right: 0;
}
 
.mobile-top-bar {
    left: unset;
}
 
/* MAIN > Header > Login Info */
 
#login-status {
    top: 19px;
}
 
#login-status,
#login-status a {
    color: #333333;
}
 
@media (max-width: 767px) {
    #header .printuser {
        font-size: 0;
    }
}
 
.printuser a {
    margin: 0;
}
 
.printuser img.small {
    width: 18px;
    height: 18px;
    padding: 1px 4px 0 0;
 
    background-image: none !important;
}
 
@media (max-width: 767px) {
    #header .printuser img.small {
        transform: translate(0, 4px);
    }
}
 
#my-account {
    display: none;
}
 
@media (max-width: 767px) {
    #account-topbutton {
        margin: 0 0 0 5px;
    }
}
 
/* MAIN > Header > Side Bar */
 
#top-bar .open-menu a {
    border-radius: 0px;
    border: none;
    background: rgb(var(--accent));
    color: white;
}
 
#side-bar {
    background: #FFF;
}
 
@media (min-width: 768px) {
 
    #side-bar {
        padding: 0.3em 0.6em 0 0.6em;
        width: 18.75em;
        transition: left 0.2s ease-in-out;
        direction: rtl;
        text-align: left;
        border-right: none;
    }
 
}
 
#side-bar .side-block,
#side-bar .side-block.resources,
#side-bar .side-block.media,
#interwiki .side-block {
    border: 2px solid rgba(0, 0, 0, 0.2);
    border-radius: 0px;
    box-shadow: none;
    margin-bottom: 6px;
    direction: ltr;
    background: transparent;
}
 
#side-bar .side-block.resources {
    text-align: center;
}
 
#side-bar .heading {
    color: var(--misc-txt-color);
    border-bottom: solid 2px #cfcfcf;
    font-size: 9pt;
    font-family: var(--head-font);
    font-weight: 800;
    text-transform: uppercase;
}
 
/* CONTENT */
 
/* CONTENT > Blockquotes, Custom Divs */
 
.blockquote,
div.blockquote,
blockquote {
    border: solid 2px rgba(0, 0, 0, 0.15);
    background: #f7f7f7;
}
 
.jotting {
    padding: 1.3em;
    margin: 1em 4.5em;
    border: dashed 2px rgba(0, 0, 0, 0.2);
    background: #f7f7f7;
}
 
.notation {
    padding: 1em 1.5em;
    margin: 1em 3em;
    border-left: solid 3px rgba(0, 0, 0, 0.35);
    border-right: solid 3px rgba(0, 0, 0, 0.35);
    background: #f7f7f7;
}
 
.modal {
    padding: 1.2em;
    margin: 1em 3em;
    border: solid 5px rgba(0, 0, 0, 0.15);
    background: #fbfbfb;
}
 
.quote {
    padding: 0.4em 2em;
    margin: 3em auto;
    border-left: solid 3px #bbb;
    max-width: 500px !important;
}
 
.paper {
    padding: 1.5em;
    margin: 2em;
    background: #FFF;
    box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.2);
}
 
.box {
    padding: 1px 9px;
    border: solid 3px #bbb;
    margin: 0.5em 1em;
}
 
div.note {
    font-size: unset;
    border: 2px solid #afafaf;
    background-color: #fff;
}
 
.round {
    border-radius: 10px;
}
 
/* CONTENT > Headings, Titles */
 
#page-title,
.meta-title {
    font-family: var(--ui-font), sans-serif;
    font-weight: 800;
    color: #3b3b3b;
    border-bottom: solid 2px rgba(0, 0, 0, 0.2);
    width: fit-content;
    margin: 0 auto 1.5rem;
}
 
#page-title,
.meta-title,
#breadcrumbs,
.pseudocrumbs {
    text-align: center;
}
 
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--head-font), sans-serif;
    font-weight: 800;
    color: #3b3b3b;
}
 
h1,
h2 {
    font-weight: 800;
}
 
.footnotes-footer .title {
    font-family: var(--head-font), sans-serif;
    color: #3b3b3b;
    font-weight: 800;
}
 
/* CONTENT > Rate Module */
 
#page-content .creditRate {
    margin: unset;
    font-family: var(--ui-font);
    float: unset !important;
}
 
#page-content .rate-box-with-credit-button {
    background-color: #fff;
    border: solid 1px #bbb;
    box-shadow: none;
    border-radius: 0;
}
 
#page-content .rate-box-with-credit-button .fa-info {
    border: none;
    color: #333;
}
 
#page-content .rate-box-with-credit-button .fa-info:hover {
    background: #333;
    color: #fff;
}
 
.rate-box-with-credit-button .cancel {
    border: solid 1px #fff;
}
 
.page-rate-widget-box {
    box-shadow: none;
    border: solid 1px #bbb;
    margin: unset;
    margin-bottom: 4px;
    border-radius: 0;
    font-family: var(--ui-font);
}
 
.page-rate-widget-box .rate-points {
    background-color: #fff !important;
    color: #333 !important;
    border: none !important;
    border-radius: 0;
}
 
.page-rate-widget-box .rateup,
.page-rate-widget-box .ratedown {
    background-color: #fff;
    border-top: none;
    border-bottom: none;
}
 
.page-rate-widget-box .rateup a,
.page-rate-widget-box .ratedown a {
    background: transparent;
    color: #333;
}
 
.page-rate-widget-box .rateup a:hover,
.page-rate-widget-box .ratedown a:hover {
    background: #333;
    color: #fff;
}
 
.page-rate-widget-box .cancel {
    background: #fff;
    border: none;
    border-radius: 0;
    display: inline-block;
}
 
.page-rate-widget-box .cancel a {
    color: #333;
}
 
.page-rate-widget-box .cancel a:hover {
    background: #333;
    color: #fff;
    border-radius: 0;
}
 
#page-content .rate-box-with-credit-button .page-rate-widget-box {
    border: none;
}
 
/* CONTENT > Rate Module > Author Label */
 
.authorlink-wrapper {
    --author-top-adjust: 0;
    --author-bottom-adjust: 0;
    --author-right-adjust: 0;
    font-family: var(--ui-font);
    font-size: var(--base-font-size);
}
 
/* CONTENT > Side Box */
 
.anchor {
    position: sticky;
    height: 0;
    top: 0;
}
 
.sidebox {
    padding: .14rem;
    margin-top: 0;
    margin-bottom: 8px;
    width: calc((100vw - 870px)/2);
    max-height: calc(100vh - 18rem);
    position: absolute;
    top: 0;
    left: 103.5%;
    z-index: 5;
    overflow: auto;
    box-sizing: border-box;
}
 
@media (max-width: 1290px) {
    .sidebox {
        display: none;
        visibility: hidden;
    }
}
 
/* CONTENT > Image Block */
 
.scp-image-block .scp-image-caption {
    background-color: #f4f4f4;
    color: #3b3b3b;
    border: solid 2px rgba(0, 0, 0, 0.1);
    margin-top: 8px;
    box-sizing: border-box;
    border-radius: 4px;
}
 
.scp-image-block {
    border: none;
    box-shadow: none;
}
 
.scp-image-block img {
    border: solid 2px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}
 
.imagediv {
    float: right;
    margin: 15px
}
 
@media (max-width: 540px) {
    .imagediv {
        float: unset;
        text-align: center;
        margin: 1.3rem auto 1.3rem auto;
    }
}
 
@media only screen and (max-width: 600px) {
    .scp-image-block.block-right {
        float: none;
        margin: 10px auto;
    }
}
 
/* CONTENT > Tables Base */
 
#page-content tr th {
    padding: 6px;
    border: 2px solid rgba(0, 0, 0, 0.2);
}
 
#page-content tr td {
    padding: 12px;
    border: 2px solid #bfbfbf;
    line-height: 1.4;
}
 
#page-content .sidebox tr td,
#page-content .sidebox tr th {
    padding: 0.35em;
}
 
/* CONTENT > Tables Customization (Table Coloring System) */
 
/* CONTENT > Tables Customization (Table Coloring System) > Table Headings, Image Captions */
 
#page-content .table1 tr th,
#page-content .table1 .scp-image-block .scp-image-caption {
    background-color: #E0FFD4;
}
 
#page-content .table2 tr th,
#page-content .table2 .scp-image-block .scp-image-caption {
    background-color: #D8ECF4;
}
 
#page-content .table3 tr th,
#page-content .table3 .scp-image-block .scp-image-caption {
    background-color: #FDF6D7;
}
 
#page-content .table4 tr th,
#page-content .table4 .scp-image-block .scp-image-caption {
    background-color: #FFDFCD;
}
 
#page-content .table5 tr th,
#page-content .table5 .scp-image-block .scp-image-caption {
    background-color: #FFCFCF;
}
 
#page-content .table6 tr th,
#page-content .table6 .scp-image-block .scp-image-caption {
    background-color: rgba(146, 0, 255, 0.2);
}
 
.tableb .wiki-content-table {
    border-collapse: separate;
    border-spacing: 2px;
}
 
/* CONTENT > Tables Customization (Table Coloring System) > Other Colored Divs */
 
.table1 .blockquote,
.table1 div.blockquote,
.table1 blockquote,
.table1 .jotting,
.table1 .notation,
.table1 .modal,
.table1 .paper,
.blockquote.table1,
div.blockquote.table1,
.jotting.table1,
.notation.table1,
.modal.table1,
.paper.table1 {
    background: rgb(224, 255, 212);
}
 
.table2 .blockquote,
.table2 div.blockquote,
.table2 blockquote,
.table2 .jotting,
.table2 .notation,
.table2 .modal,
.table2 .paper,
.blockquote.table2,
div.blockquote.table2,
.jotting.table2,
.notation.table2,
.modal.table2,
.paper.table2 {
    background: rgb(226, 244, 255);
}
 
.table3 .blockquote,
.table3 div.blockquote,
.table3 blockquote,
.table3 .jotting,
.table3 .notation,
.table3 .modal,
.table3 .paper,
.blockquote.table3,
div.blockquote.table3,
.jotting.table3,
.notation.table3,
.modal.table3,
.paper.table3 {
    background: rgb(255, 245, 189);
}
 
.table4 .blockquote,
.table4 div.blockquote,
.table4 blockquote,
.table4 .jotting,
.table4 .notation,
.table4 .modal,
.table4 .paper,
.blockquote.table4,
div.blockquote.table4,
.jotting.table4,
.notation.table4,
.modal.table4,
.paper.table4 {
    background: rgb(255, 223, 205);
}
 
.table5 .blockquote,
.table5 div.blockquote,
.table5 blockquote,
.table5 .jotting,
.table5 .notation,
.table5 .modal,
.table5 .paper,
.blockquote.table5,
div.blockquote.table5,
.jotting.table5,
.notation.table5,
.modal.table5,
.paper.table5 {
    background: rgb(255, 207, 207);
}
 
.table6 .blockquote,
.table6 div.blockquote,
.table6 blockquote,
.table6 .jotting,
.table6 .notation,
.table6 .modal,
.table6 .paper,
.blockquote.table6,
div.blockquote.table6,
.jotting.table6,
.notation.table6,
.modal.table6,
.paper.table6 {
    background: rgb(255, 218, 255);
}
 
/* CONTENT > Tabs Base */
 
.yui-navset .yui-nav a,
.yui-navset .yui-navset-top .yui-nav a {
    background-color: inherit;
    background-image: inherit
}
 
.yui-navset .yui-nav a:hover,
.yui-navset .yui-nav a:focus {
    background: inherit;
    text-decoration: inherit
}
 
.yui-navset .yui-nav .selected a,
.yui-navset .yui-nav .selected a:focus,
.yui-navset .yui-nav .selected a:hover {
    color: inherit;
    background: inherit
}
 
.yui-navset .yui-nav,
.yui-navset .yui-navset-top .yui-nav {
    border-color: inherit
}
 
.yui-navset li {
    line-height: inherit
}
 
/* CONTENT > Tabs Customization */
 
.yui-navset .yui-nav,
.yui-navset .yui-navset-top .yui-nav {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - .125rem);
    margin: 0 auto;
    border-color: #333333;
    box-shadow: none;
}
 
.yui-navset .yui-nav a,
/* ---- Link Modifier ---- */
.yui-navset .yui-navset-top .yui-nav a {
    color: #333333;
    /* ---- Tab Background Colour | [UNSELECTED] ---- */
    background-color: #efefef;
    border: unset;
    box-shadow: none;
    box-shadow: none;
}
 
.yui-navset .yui-nav a:hover,
.yui-navset .yui-nav a:focus {
    color: #ffffff;
    /* ---- Tab Background Colour | [HOVER] ---- */
    background-color: #333333;
}
 
.yui-navset .yui-nav li,
/* ---- Listitem Modifier ---- */
.yui-navset .yui-navset-top .yui-nav li {
    position: relative;
    display: flex;
    flex-grow: 2;
    max-width: 100%;
    margin: 0;
    padding: 0;
    color: #ffffff;
    background-color: #ffffff;
    border-color: transparent;
    box-shadow: none;
}
 
.yui-navset .yui-nav li a,
.yui-navset-top .yui-nav li a,
.yui-navset-bottom .yui-nav li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
 
.yui-navset .yui-nav li em {
    border: unset;
}
 
.yui-navset .yui-nav a em,
.yui-navset .yui-navset-top .yui-nav a em {
    padding: .35em .75em;
 
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
 
.yui-navset .yui-nav .selected,
/* ---- Selection Modifier ---- */
.yui-navset .yui-navset-top .yui-nav .selected {
    flex-grow: 2;
    margin: 0;
    padding: 0;
    /* ---- Tab Background Colour | [SELECTED] ---- */
    background-color: #333333;
}
 
.yui-navset .yui-nav .selected a,
.yui-navset .yui-nav .selected a em {
    border: none;
}
 
.yui-navset .yui-nav .selected a {
    width: 100%;
    color: #ffffff;
}
 
.yui-navset .yui-nav .selected a:focus,
.yui-navset .yui-nav .selected a:active {
    color: #ffffff;
    background-color: #333333;
}
 
.yui-navset .yui-content {
    background-color: #ffffff;
    box-shadow: none;
}
 
.yui-navset .yui-content,
.yui-navset .yui-navset-top .yui-content {
    padding: .5em;
    border: 1px solid #333;
    box-sizing: border-box;
}
 
/* CONTENT > WORDS NO BROKEY. CROQ HAS SPOKEY. and other things */
 
span,
a {
    word-break: normal !important
}
 
.avatar-hover {
    display: none !important;
}
 
#main-content .page-tags span {
    max-width: 100%;
}
 
/* CONTENT > Dustjacket Assets */
 
.fancyhr hr {
    border-top: 2vw solid transparent;
    background-color: rgba(var(--bright-accent), 0);
    height: 0;
    box-sizing: border-box;
    border-image-source: url('https://wanderers-library.wikidot.com/local--files/component:dustjacket-theme/wl_hr.png');
    border-image-repeat: round round;
    background: none;
    border-image-slice: 80 500 80 500 fill;
    border-image-width: 10em 80em 10em 80em;
}
 
.fancyborder {
    box-sizing: border-box;
    border: 2vw solid rgba(0, 0, 0, 0.5);
    border-image: url('https://wanderers-library.wikidot.com/local--files/component:dustjacket-theme/wl_border.png') 600 round;
    border-image-width: 6;
    padding: 2vw;
}
 
/* CONTENT > Collapsibles */
 
#page-content a.collapsible-block-link:hover {
    text-decoration: underline;
    color: var(--link-txt-color);
}
 
#page-content a.collapsible-block-link:not(.licensebox a.collapsible-block-link, .info-container a.collapsible-block-link, .default-col a.collapsible-block-link) {
    text-decoration: none;
    font-weight: bold;
    color: white;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 7px;
    padding-right: 9px;
    background: rgb(var(--accent));
    border-radius: 6px;
    margin-top: 5px;
    font-family: var(--ui-font);
    font-size: var(--base-font-size);
    box-shadow: inset 0px 0px 0px 2px rgba(0, 0, 0, 0.4);
    transition-duration: 0.4s;
    display: inline-block;
 
}
 
#page-content a.collapsible-block-link:not(.licensebox a.collapsible-block-link, .info-container a.collapsible-block-link, .default-col a.collapsible-block-link):hover {
    background: rgba(var(--accent), 0.7);
    box-shadow: none;
}
 
/* CONTENT > ACS Adjustments */
 
.top-left-box>.item {
    display: none;
}
 
.anom-bar-container {
    margin-top: 1.1rem;
}
 
.anom-bar-container,
.anom-bar-container * {
    font-family: var(--ui-font), Inter, sans-serif !important;
}
 
.acs-extra-1,
.acs-extra-2,
.acs-extra-3,
.acs-extra-4 {
    font-family: var(--ui-font), Inter, sans-serif !important;
}
 
.anom-bar > .top-box {
    text-transform: none;
}
 
/* CONTENT > Woed Bar Adjustments */
 
div.scale div.item1>div {
    color: #333;
    font-family: var(--head-font);
    font-size: 1.4em;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: unset;
}
 
div.scale div.class1>div {
    color: #333;
    font-family: var(--head-font);
    font-size: 2em;
    line-height: 0.9em;
    letter-spacing: 2px;
}
 
div.scale {
    --woedbar-class-bar-color: #333 !important;
}
 
div.scale div.obj {
    height: 1.7em;
}
 
div.scale div.obj>div {
    font-size: 1.55em;
}
 
/* MISC */
 
#page-content hr {
    height: 2px;
}
 
.bt {
    color: rgb(var(--accent));
    font-weight: bold;
}
 
#footer {
    background: transparent;
    color: #444;
    margin-top: 45px;
}
 
#footer a {
    color: #7b7b7b;
}
 
.footer-wikiwalk-nav {
    font-weight: 700;
    font-size: 88%;
    word-spacing: 5px;
}
 
#page-info-break {
    height: 10px;
}
 
#page-options-container {
    border-top: solid 1px rgba(213, 213, 213, 0.5);
    padding-top: 1rem;
}
 
.page-watch-options {
    padding-bottom: 0.6rem;
    font-size: 77%;
}
 
.page-options-bottom {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
}
 
.page-options-bottom a {
    margin: 3px;
    color: #FFF;
    background: rgb(var(--accent));
    padding: 5px 13px 5px 13px;
    text-decoration: none;
    font-size: 90%;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}
 
.page-options-bottom a:hover {
    background: rgba(var(--accent), 0.8);
}
 
#page-info-break {
    height: 6px;
}
 
#license-area {
    color: #5f5f5f;
    background: #ecf2f1;
    border-top: solid 2px #d9d9d9;
    margin-top: 10px;
}
 
#license-area a::after {
    content: ".";
}
 
@media (min-width: 768px) {
    #main-content .page-tags {
        padding-right: 16rem;
    }
}
 
#main-content div.page-tags::before {
    content: "tags   ";
    color: var(--misc-txt-color);
    font-family: var(--head-font);
    font-weight: 800;
    font-size: var(--page-font-size);
}
 
#main-content .page-tags a {
    display: inline-block;
    height: .8125rem;
    margin: 0 0 .5rem .75rem;
    padding: .1875rem .3125rem .1875rem 0;
    color: #FFF;
    background-color: rgb(var(--accent));
    border-bottom-right-radius: .25rem;
    border-top-right-radius: .25rem;
    line-height: 13px;
    line-height: .8125rem;
    font-size: calc(var(--page-font-size) - 10%);
    font-weight: bold;
}
 
#main-content .page-tags a::before {
    width: 0;
    height: 0;
    top: -.1875rem;
    left: -.625rem;
    padding: 0 .0625rem .1875rem;
    border-color: transparent rgb(var(--accent)) transparent transparent;
    border-style: solid;
    border-width: .5rem .5rem .5rem 0;
}
 
#main-content .page-tags a::before,
#main-content .page-tags a::after {
    content: "";
    position: relative;
    float: left;
}
 
#main-content .page-tags a::after {
    width: .25rem;
    height: .25rem;
    top: .2813rem;
    left: -.5rem;
    background-color: #FFF;
    border-radius: .125rem;
}
 
#main-content .page-tags span {
    max-width: 100%;
    border-top: .5rem solid transparent;
}
 
#page-tags-input {
    font-weight: bold;
    word-spacing: 8px;
}
 
#edit-page-form input.text {
    font-family: var(--head-font), sans-serif;
    font-weight: 800;
    font-size: 150% !important;
    padding: 4px;
}
 
#edit-page-form>table.form>tbody>tr>td:nth-child(1) {
    font-weight: bold;
}
 
.edit-help-34 {
    font-size: 85%;
    opacity: 60%;
    transition-duration: 0.3s;
    width: fit-content;
}
 
.edit-help-34:hover {
    opacity: 100%;
}
 
.edit-help-34 a {
    margin-right: 3px;
    margin-left: 10px;
}
 
table.edit-page-bottomtable {
    width: 100%;
}
 
#edit-page-comments {
    height: 86px;
}
 
#lock-info {
    background-color: transparent;
    margin: 0.8em;
    line-height: 1.7;
    font-size: 86%;
    border: none;
}
 
#lock-info::before {
    content: "!";
    padding-right: 12px;
    font-weight: bold;
    font-size: 110%;
    opacity: 60%;
}
 
#lock-timer {
    font-size: 115%;
    margin: 0 5px;
}
 
#lock-timer::before {
    content: "⏲ ";
    opacity: 80%;
}
 
textarea,
#edit-page-form input.text {
    outline: none;
    border: 1px solid #ccc;
    transition-duration: 0.3s;
    transition-property: box-shadow;
}
 
textarea:focus-visible,
#edit-page-form input.text:focus-visible {
    box-shadow: 0px 0px 0px 1px #a3a3a3;
    border: 1px solid #a3a3a3;
}
 
#action-area>p {
    font-size: 85%;
    color: darkslategrey;
}
 
#action-area>p:nth-child(5)>a {
    display: block;
    text-align: center;
    font-size: 120%;
    font-weight: bold;
}
 
#who-rated-page-area>div {
    column-count: 4;
}
 
@media (max-width: 900px) {
    #who-rated-page-area>div {
        column-count: 3;
    }
}
 
@media (max-width: 700px) {
    #who-rated-page-area>div {
        column-count: 2;
    }
}
 
@media (max-width: 540px) {
    #who-rated-page-area>div {
        column-count: 1;
    }
}
 
#page-content .content-warning.creditRate {
    padding-top: 8px;
    padding-right: 21px;
}
 
.preview-message {
    right: 0em;
    top: 2em;
    border: unset;
    padding: 1em 1.5em;
    background-color: rgba(0, 0, 0, 0.9);
    max-width: 29em;
    opacity: 1;
    z-index: 100;
    line-height: 1.7;
    filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.2));
    color: #EDEDED;
}
 
.error-block {
    background-color: rgba(255, 0, 48, 0.1);
    text-align: center;
    border: none;
    border-top: solid 3px #B00;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}
 
table.page-history tbody tr:nth-child(2n) {
    background: rgba(var(--accent), 0.05);
}
 
.owindow {
    animation: fade 0.5s;
}
 
@keyframes fade {
    0% {
        opacity: 0;
    }
 
    100% {
        opacity: 1;
    }
}
 
.owindow .button-bar a {
    border: solid 2px rgba(0, 0, 0, 0.1);
    margin: 11px;
    padding: 0.5em 2em;
    border-radius: 4px;
}
 
.owindow .button-bar a:hover {
    background-color: var(--link-txt-color);
    color: var(--link-hover-txt-color);
    border-radius: 0px;
}
 
.owindow .button-bar {
    padding: 1.2em 1em 1.2em;
}
 
.owindow .table {
    margin-bottom: 1.5rem;
}
 
.owindow .title {
    cursor: default;
    font-family: var(--head-font);
    font-weight: 800;
    font-size: 155%;
    text-align: center;
    padding: 0.5em 1em;
    border-bottom: solid 2px rgba(187, 187, 187, 0.4);
    background-color: #F7F7F7;
}
 
.owindow.owait .content {
    padding: 0.5em 0.5em 2em;
    background-image: none;
}
 
.owindow.owait .content::after {
    content: " ";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    margin: -0.9rem auto;
    margin-top: 1rem;
    animation: loading 1.2s linear infinite;
    border-top: 0.4rem solid grey;
    border-right: 0.4rem solid transparent;
    border-bottom: 0.4rem solid grey;
    border-left: 0.4rem solid transparent;
    border-radius: 50%;
}
 
@keyframes loading {
    0% {
        transform: rotate(0deg);
    }
 
    100% {
        transform: rotate(360deg);
    }
}
 
.owindow.osuccess {
    padding: 0.5em;
}
 
.owindow div.content:nth-child(2)>img:nth-child(1) {
    margin-right: 1.2rem;
    margin-top: 1rem;
}
 
.odialog-shader {
    background-color: #262a39;
}
 
.btn {
    transition-duration: 0.15s;
}
 
.btn:not(#main-content .btn, #search-top-box-form input[type="submit"]),
.btn.btn-primary,
div.buttons input,
input.button:not(#search-top-box-form input[type="submit"]) {
    padding: 0.5em;
    margin: 11px;
    border-radius: 3px;
    font-family: var(--ui-font);
    cursor: pointer;
}
 
#edit-cancel-button,
#edit-diff-button,
#edit-preview-button,
#edit-save-draft-button,
#edit-save-continue-button,
#edit-save-button {
    background: #fff;
    border: solid 1px #ccc;
    cursor: pointer;
    font-family: var(--ui-font);
    color: #333;
    padding: 0.5rem 14px;
    margin: 1px;
    font-size: 90%;
    border-radius: 3px;
}
 
#edit-cancel-button:hover,
#edit-diff-button:hover,
#edit-preview-button:hover,
#edit-save-draft-button:hover,
#edit-save-continue-button:hover,
#edit-save-button:hover {
    background-color: #eaeaea;
}
 
#edit-save-continue-button,
#edit-save-button {
    background: #dbffd6;
    transition-duration: 0.3s;
    color: #005a0a;
}
 
#edit-save-continue-button:hover,
#edit-save-button:hover {
    color: #fff;
    background: #0d951c;
}
 
#edit-cancel-button {
    background: #ffe1e1;
    transition-duration: 0.3s;
    color: #c52727;
}
 
#edit-cancel-button:hover {
    color: #fff;
    background: #c5272e;
}
 
table.page-history tbody tr {
    color: #757575;
}
 
.fncon {
    font-size: var(--page-font-size) !important;
    line-height: 1.4;
    border: 2px solid rgba(0, 0, 0, 0.2);
}
 
.fncon::before {
    font-size: var(--page-font-size) !important;
}
 
.hovertip {
    border: none !important;
    box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
    background: #FFF;
    padding: 3px;
    max-width: 400px;
}
 
input.checkbox,
.page-history input,
#h-perpage {
    cursor: pointer;
}
 
input,
textarea {
    font-family: var(--ui-font);
}
 
#breadcrumbs,
.pseudocrumbs {
    font-weight: bold;
    font-size: 110%;
    font-family: var(--ui-font);
}
 
/* ---- REDUCED MOTION ACCESSIBILITY ---- */
@media (prefers-reduced-motion: reduce) {
 
    *,
    *::before,
    *::after {
        animation-duration: .001s !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001s !important;
    }
}
 
/* @MEDIA */
 
@media (max-width: 850px) {
 
    #header h2::before {
        font-size: 1.4em;
    }
 
}
 
@media (max-width: 700px) {
 
    #header h2::before {
        font-size: 1.2em;
        margin-top: 0.3rem;
    }
 
    #top-bar,
    #top-bar a {
        top: 8.8rem;
        font-size: 90%;
    }
 
}
 
@media (max-width: 620px) {
 
    #header h2::before {
        font-size: 1em;
        margin-top: 0.15rem;
    }
 
    #top-bar,
    #top-bar a {
        top: 8.3rem;
        font-size: 90%;
    }
 
    div#header {
        height: 123px;
    }
 
}
 
@media (max-width: 520px) {
 
    #header h2::before {
        line-height: 16px;
        margin-top: 0.5rem;
    }
 
    #top-bar,
    #top-bar a {
        top: 9.3rem;
    }
 
    div#header {
        height: 145px;
    }
 
}

I

“醒醒。”

John没有理会那不知来源的声音,更深地沉入梦中。

可能是Karter或者别的派遣队成员来叫他了,因为他换班已经迟到了二十分钟。上一个迟到的人导致了五级信息危害的收容突破,以及十二名勇敢之人的丧生——葬礼结束后,他们都获得了“黄金之心”奖,站点指挥部确信每个人都知道了这一点。可能是Zaid Manvel,John的老板,手里拿着解雇通知书,要在他完美无瑕的记录上留下第一个污点。另一个想法快速地在脑海一闪而过,可能是“亚哈的最佳船员”或者其他什么特遣队的人,像黑豹一样全身漆黑,步枪瞄准了他的前额,在他的耳边命令:疏散整个街区(若对象不配合,则当场击毙)。即使已经过去了那么久,Site-19臭名昭著的十月大突破的记忆仍然让居住在站点的人员心有余悸、耿耿于怀。这就是为什么大多数人即使在睡觉时,也还要把一把刀子放在触手可及的地方的原因。

要么是一发子弹,要么是不可名状的恐怖。也可能是监督者一号本人就站在John的上方。此刻,什么也无法与他脑海中此刻浮现的、从灵魂深处浮现的画面相比拟。

那是一位天使。一位统治着所有人的天使。而它已经死在了海滩上。

尸体腐臭。那腐烂的气味几乎充溢了时间与空间,直直钻进John的鼻孔。它的形状没有定形,是水泡和鲸油构成的翻腾的浓疮。它的体型如此巨大,绝非地球的海洋中可有之物,和一栋小房子一样。它看起来像是由蜡油制成,从某个不可见的烛芯上融化,形成它令人作呕的姿态。在它的褶皱之下,John感觉到了形态、结构、秩序。一具硕大无朋的力量与美的骨骸。他无法言说自己从何而知。毕竟,那只是一场梦。

John低下头检查自己的双手,却发现自己没有了形状。他的视线在离沙滩五英尺11英寸的高处。尽管他没了质量,他仍能感觉到风在鼻尖和耳畔留下的刺痛,还有沙被踩在双脚下的压力。于是他行走,起初小心翼翼,但随着靠近尸体,他的步伐变得更加坚定。确实,非常可怕,而且令人恶心。但它已经死了,毫无生气。好奇心指引着他想要戳刺和捅穿,就像他曾听闻的有关奇幻生物的故事一般:被冲刷到岸边某个寒冷、荒凉的地方,被农民或游客发现,现代科学也无法解释。当然,它们都是海豚或者海牛,一半被海水腐蚀,或是被野生动物消化。扭曲到面目全非、无法辨识,但终究仍是自然的。安全的。

然而,这片海滩上的东西是不会被认错的。对其他人来说,它可能是一根巨大的橡木,被古老的野火或闪电烧焦。也可能是一个长着钢铁双眼的女人,为逝者哀恸、为仍然生还的恐怖哭泣。但对John来说,那是一具来自于他童年记忆里的野兽的尸体。在一部他已经不记得名字的电影里,那头野兽吞下了一个自以为是男孩的木偶。《恐怖巨头鲨》,他想着。它曾让他做过噩梦,就和其他所有海洋生物一样。翻搅的恶臭海水、黏糊糊的烂泥,以及原始生命汤的景象在他的眼前闪过。超越了形体和时间的野兽,鲨鱼的利齿和鲸须之间咬着玛瑙般的地球,任由它沉入宇宙的深渊,随后在盐卤的海水里溃烂。他已经有很多年没有思考过这样的念头了,而这是John成年后第一次感觉到源自内心深处的存在性恐惧带来的肾上腺素。

他哀嚎着,本能地举起已不存在的双手,想要捂住双眼,不去直视那具尸体所暗示的恐惧。那片海滩,曾经好像还朝着四面八方无限延伸,瞬间却变得小了许多。在一边:山脉无情地高耸入云,试图攫住群星。另一边:一堵陡峭的水墙,像云一样翻滚,以不可思议的速度移动。而中间:John、尸体、万事万物的总和,不论真实还是幻想、过去还是未来,都以光的速度翻滚、翻滚、一路翻滚到底部,直到压强大到一切都变成一团无可辨识的鲸脂与鲸油。

John尖叫起来尸体嚎叫着海浪高高地掀起然后破碎冲向他的脚边然后

醒醒!

John醒来了。

II

“喂,John。你在吗?醒醒。”

床边的通讯器里传出派遣队夜班领队Randal Karter刺耳的声音。John的手像火箭一样从床单底下猛地伸出来,差一毫米够到接收器,把边上装了半杯水的玻璃杯从床头柜旋转着砸到了地板上。

他骂了一句,坐直身,抹去眼角的睡意。他浑身上下都沾满了汗水,四角内裤像胶水一样贴在他皮肤上。他靠过去,打开了通讯器的接收器。

“是的Karter,我在。”他看了眼时间:凌晨4:09。他没有迟到,这很好。他不太喜欢迟到。

肯定是有什么东西碰到了周边的传感器,他想着。

这种事发生的情况比他愿意承认的更多。Site-184的运作一直很严密,但总免不了有什么东西从狭缝里钻出来。你开的船越大,船体上就越难免吸上藤壶。这是不可避免的。而并非不可避免的则是你能以多快的速度把它们刮下来。用通讯器领导者,派遣队领队Zaid Manvel的话来说,藤壶每在船上多待一秒钟,你就要多花十分钟的时间来擦拭它在钢铁上留下的污渍。

不过Zaid会把“藤壶”这个词换成“混分间谍”。

John又按了一下按钮,从床上起身,跨过散落在冰冷的地面上、一直延伸到房间中间的玻璃碎片,“又有人突破防线了?需要我到场吗?”

Karter的嗓音从喇叭的黑色网格里格外清晰地传来。“其实不是。比那更好。你得来看看。”

John踉跄了一下,在玻璃碎片上划破了脚后跟。

“操——”

“怎么了?发生什么事了?”

“没啥,Karter,没什么。我马上到。”他挂断了。他过会得把这些玻璃扫起来。Randal Karter对几乎所有该死的事都漠不关心——除了监视之外。他有着一双鹰一样的眼睛,和大学数学系的专注度,这就是他为什么能在半夜十二点到凌晨六点这段时间关注监控录像内部通讯的几乎每一个频道,每晚都是这样,已经有——呃,从John到站点来就是这样(也就是说,到明年春天就满两年了)。如果有什么事情能有趣到让Karter都兴奋了……那会很值得一看。

他匆忙穿上几件衣服,走出了门。

III

一直到John走在了Site-184行政楼冰冷的走廊里,他都无法控制自己不去想几分钟前看到的景象。在梦的最后时刻,死亡之墙汹涌而来,直到离他的脸只有分寸之遥。而他感觉到,在海面、天空与山脉之间狭窄的陆地上,有什么人类思维无法理解的事物,宏伟到可以包含宇宙本身。

如果宇宙和我一样在那片海滩上,那片海滩又是什么?那片海滩会在哪里他试着把这些思绪从脑海里赶走,但它又匍匐着回来了。那只是一个梦,他想。那个梦好像也在对着他尖叫。那为什么我就是停不下来想它?

它来得恰逢其时。就在上一周,他得知了鲸类研究部成立的消息,还把这个消息连同那天早上的其他信息一起通报了站点指挥部。他还在各种非官方渠道听说了法国的那次事件,以及现在已经成为异常的Lee Dupont的疯狂呓语。

Lee Dupont。这个名字听着很耳熟。维修部的?派遣队会和站点里的差不多每一个部门对接,但名字很难留下印象。要是能看见他的脸的话,他肯定能认出来。他很擅长认脸。

走廊的尽头是一扇不起眼的黑色门,纵横交错的铁丝网遮蔽了门上染了色的视窗。“派遣队”几个大字用崭新的白漆刷在与眼部平齐的高度。John轻轻敲了三下门,然后用他的卡刷开门,进了屋。房间昏暗阴沉,缭绕着终日不散的烟雾,熏染了墙壁。两个人弓身坐在监控屏幕前。左边是Karter,坐在他最爱的黑色皮椅上,暗金色的头发向后梳得油光水滑。他穿着红色的飞行员夹克,上面装饰着他入职以来服役过的各个队伍的徽标。Site-19的“夜鹰”、Site-17的“墓园”、Area-02的“潜行者”、MTF Gamma-9“天眼”,还有少说半打以上。Karter一辈子都没法抽出一整天不在对话中提起其中的几个徽标,但John还是不知道其中一半背后的故事。他一手焦急地敲打着桌子,另一手递出一根香烟。帮他点烟的是Philip Morgen,站点安保队的副主管。

Morgen虽然弯腰伏在桌前,但还是比Karter高出了几英寸。他深色的头发向后梳着,发际线形成一个尖。他和大部分时候一样,穿着标准的安保制服。他背后写着一行刺眼的提醒,告知大家他确实是安保队的,如果他的样子还不够你发现的话。Morgen自己当了一辈子烟民,试了好几次想彻底戒烟,以此拯救他日益恶化的嗓子。医生给他看了肺部的X光片,看起来就像他三年级时用来烧洞的纸袋。有时候他会用这样的纸袋去捉院子里的小飞虫。报应啊,Morgen想着,于是他戒了。不过,在他给Karter点烟的时候,他还是渴望地盯着那打火机,脑子里除了飞虫之外什么都不想。

Karter听见门打开,笨拙地转过身,面对着珍珠白色的走廊背光下的剪影。“太好了,你来了。”他对John招了招手,“来看看这个。”

John走到凌乱的桌边。无视那些烟蒂和半瘪的碳酸咖啡因饮料易拉罐的话,这片工作空间差不多是很专业的。派遣队的预算和一所小型的幼儿园差不多,但还是足够负担得起维持船上运作所需的技术设备的。部门六分之一的资金一定都花在了墙壁上那四台30英寸的平板显示器上了,每个屏幕都显示着设施里十二个左右的场景,包括各个实验室、过道,还有停车场。还有一些显示着无名的树林。其中一块屏幕,对应着6B-11号摄像头,在过去十年里都没有在任何紧急的安保事件中使用过,此刻却闪烁着不祥的警告:

需要行动 - 防线突破

这个摄像头显示的是一处半圆形的沙滩,是Site-184西部一英里半的一段海岸,被两盏幽灵般的泛光灯照亮。在光弧之外是漆黑一片的海水——或者说,它应该是漆黑的。在海平线上,就在波涛起伏的海洋微微隆起的浪峰之上,有一个小小的光点,随着海浪的律动上下起伏着。

这他妈是条船,John想着,本来不应该是什么奇怪的事情,如果Site-184离最近的人口聚居区没有四十英里远、而且还有好几套多重绊网监视系统,会在和小鼠海豚那么大的东西出现在摄像头6B-11中时提醒他们的话。不管那船是什么,要不就是它穿过了几个最先进的水下传感器,要不现在就该轮到异常载具实验室的白大褂们大显身手了。

“你看着糟透了。今晚过得不好?”Karter在他背后问,双眼依旧盯着漆黑的海水上闪烁的白色光点。

“是啊,只是……”脑海中闪过海浪的画面,接着是尸体的恶臭,“只是做了个噩梦。那是什么?”桌边的两人依然目不转睛地盯着屏幕,Karter的眼神带着强烈的好奇和一丝恐惧,Morgen则带着在会酒吧斗殴前感觉到的那种晕眩。

两人应付擅自闯入者的经验已经够多了——派遣队的其他人会称之为“取回游戏”——多得足够他们发展出一套行业专长。一旦嫌疑人的身份确认(一般都是迷路的游客或者极限运动爱好者,从来不是什么值得关注的事,但规矩就是规矩),两人就会出面干涉。Karter会扮上红脸,晓之以理。他会化身为一个露营者,或者护林员。有一次,他假装成了一家电影制片厂的实习生,告诉一对迷路的老夫妇他们踏入了自然纪录片的镜头里。这些假身份大多数时候都有用,安全漏洞会自己消失,每个人都很满意,不需要记忆删除。但有过一名嫌疑人,一个二十多岁的阴谋论网红兼UFO猎人,好像并不买Karter“抱歉先生,这里是受限的联邦领土”和“我需要您转身,原路返回”的账,而是决定掏出他一周前从朋友家买来的袖珍手枪。他成功开了一枪,擦过了仍在惊讶中的Karter的肩膀,随后被兴奋不已的Morgen一枪打在头上。Morgen心里有个地方越发希望每次取回行动都能像那天一样结束。

Karter敲了敲屏幕。“我觉得,那是某种类型的船舰。看起来是渔船……我们在那个区域的情报不多,是传感器的盲点。我得在这事完了之后报告给指挥部。”

“是平民?”基本上每次都是平民,但他还是觉得得问一嘴。

Karter耸了耸肩。“可能吧。我们需要到那里去看看。如果是别的什么东西,这会儿应该已经有动静了,哪怕只有一点点。我已经看了它有一阵子了,它一直都没动过。”

Morgen开口了,提醒所有人他还在留神看着。“如果那是个圈套呢?就像那种声东击西的诱饵,骗我们到那边去,好让他们能抢先我们一步?”

“你会喜欢那种情况,是吧。”John没有太开玩笑地说,“嗯,那我们要去处理这事吗?”

Morgen露出一个吓人的微笑。“对,我们要去处理这事。Bruce已经把快艇准备好了。把你的枪拿上。”

IV

前往那幽灵灯光的一路上很安静,只有SCPF“无赖”号发出无心的嗡鸣。那是一艘30英尺长的快艇,是海岸警卫队和贩毒集团常用的那种类型。它的续航时间长得足以应付这样的小差事,又短得不能处理任何实质性的麻烦。它的空间也大得足够完成任务,又小得很难让人感觉舒服。四人在挤在狭窄的船舱里保持着沉默。其中三人,John、Morgen和Karter都坐在船边。第四个人是Bruce Mitchell特工,他站在船舵旁,尴尬地沉默着,任由小船在波涛中颠簸,一路破开海浪。

Bruce Mitchell长得很胖,头比鸡蛋还秃,一把滑稽的大胡子遮住了半张脸。John感觉那胡子看起来很假,但又有谁会戴这种华而不实的假胡子呢?Bruce是SCPF“无赖”号唯一的操作员。他差不多亲手打造了那条船,在不破坏它低调的特质的同时给予了它尽可能多的个性。方向盘边和仪表盘下贴满了数不清的贴纸;各个乐队和国家公园的标志涂鸦在船舱里,把它弄得像滑板的底部一样。和Karter不同,Bruce从来不谈论其中任何一个标志。他本身话也不多,除非有人要告诉他该往哪边开船,或者要把船哪里。不过,John还是感觉到Bruce与社会格格不入的沉默之下潜藏着某种古怪的智慧。换个环境,他们没准会成为朋友。

这份沉默确实给予了John一些珍贵的思考时间。他闭上双眼,努力忽视Karter和Morgen好奇的目光。他的思绪在黑暗中游荡,试图捕捉那个神秘的梦境随时可能溜走的记忆。他回想着那些感觉。

沙子、浪花,他咬了咬牙,尸体的腐臭味

它消失得很快。那些几小时前还曾把他的灵魂碾碎成微末的全然的庞大带来的感受,现在只剩了一丝隐约的痛楚。这本该让他感觉些许安慰,却只是让他感觉寒冷、空虚。好像他的一部分仍然留在那片海滩上,准备着迎接滔天的巨浪带来的冲击。我得回去。我得去看看那具尸体。还有更多。还有很多很多。海滩绵延不绝,还在延伸、还有

声音。John从沉思中抽离出来,回到船上。感觉就像从睡梦中醒来一样。Karter在和Morgen说着什么。

“……得小心处理。我们没有情报,也没有应对措施。即使收到求救信号,后援至少也还得过二十分钟才到。”

“放松,Karter,可能就是当地人。漂了太远,离开了钓鱼的好地方。”Morgen笑着把随身武器从枪套里抽出来,看了一会才继续说:“但如果出了问题,嗯,我什么时候让你失望过?”

John开口了。“让船保持怠速吧,Bruce。我想先规划好一条干净的退路,以防万一。不到必要的时候,我不想我们中任何一个人死。”

那艘船离得更近了,它唯一的一盏灯在浪尖上闪烁着微弱的光。随着它离得更近,John也更仔细地打量了它一番。那东西看起来很卡通,像40年代那种拖船。褪色、磨损的救生圈挂在船的栏杆上。一根烟囱喷着滚滚黑烟,轻易地融入夜色之中。它的船首漫画式地向上弯曲,显示出深深的黑色船体。这艘船的长度不会超过五到六十英尺,但它的外观让人感觉极为壮观,就像从摩天大楼的底部向上看一样。船体上有着布满灰尘的黄铜舷窗,每个舷窗都显出夜空的颜色。在片刻的困惑之后,John发现自己数不清它们的数量。或者说,他数得清,但他的大脑在数到六或者七之后就发木了。这艘船好像在不停地延伸下去,越过地平线、进入未知的地方。尽管他竭尽全力集中精神,John还是不能立刻接受一切。仿佛这艘船所占据的空间本不应当存在,却还是在那里。这种想法很吓人,所以他摒弃了它。他让自己的视线固定在甲板顶上唯一亮着的灯上。它看起来像一盏台灯,随着船身的摇摆晃动着。

“靠边停下,Bruce。我们从另一边登船。”Morgen站了起来,一条腿搭在船舷上。今晚他无论如何都要要打一场了。Karter也感觉到了,但他知道没办法阻止他。另外,总有一种可能,那并不是什么迷路的渔民,而这次取回行动很快就会升级成一件大事,这样他大概就需要感谢Morgen忍不住扣扳机的手指了。

Bruce咕哝了一声表示收到,猛地把快艇的船舵向左打。船飘浮着,保持着惯性,逐渐靠近那艘恐怖之船的船头。这一行动把John吓掉了魂,他一手捂住了眼睛。他运气不错,除了进行基础训练时看到过的那些初级版本之外,他从来就没有见识过活跃的认知危害;这些简单的字符会让你的耳朵刺痛、鼻血直流。不过现在他知道了。这就是认知危害的感觉。

但其他人好像并没有注意到。他们的神情确实警觉,正扫描着船舱,留意埋伏的迹象。但他们的脸上没有像John一样慢慢浮现出恐惧。他们的船现在和那艘船平行了。Karter伸手碰到船体,把攀登绳的一端固定到船的护栏上。他爬了上去,然后转身对John伸出手。他握住他的手,被拉到了船的甲板上。

空的。他想。也可能不是。他瞥了Karter一眼,示意他,我要四处看看。Karter点了点头,然后转身帮Morgen爬了上来。船有种奇异的非自然感,像博物馆里的工业时代船舶展品一样。这些设备都不能用。它们看起来是能用的,而且他确实感觉到脚下有引擎转动产生的微弱振动,但他始终无法甩脱这一切都是幻觉的感受;好像有块幕布随时都会拉开,而他就会发现自己并没有站在一艘船上,而是在某个无可知晓的神秘机器的甲板上。这是死亡之地

不过,船看着还是空的。John四处走了走,没有发现活物的迹象。船随着波浪轻柔地摇晃着;每隔一会儿,它就会猛地向左或者向右倾斜,然后一阵薄薄的海浪水雾就会在甲板上蒙上薄雾。John现在看出来它并不非常大,但想要集中精力去估量船的尺寸还是会让他头痛。中间是像船舱一样的地方,连接着烟囱,可能会通向甲板下方的某个引擎舱。John想起童年时代看过的一部老动画片,里面有一只黑白相间的老鼠,在一个相似得古怪的船舱里愉快地吹着口哨。他从来就没信任过那只老鼠,现在当然也不信任这个船舱。

通往船舱那道苍白的隔板旁边是一盏摇曳的油灯。那盏灯看着很古老;经年累月的盐水喷雾已将它原本金色的金属外壳腐蚀成了锈铁的红色。它滴下一串黑色的油渍,在下方的甲板上聚成一滩泛着恶心虹光的油污。John注意到了它,心里微微一动,又想起了那片海滩上的那具油腻、恶臭的尸体。油灯里的火焰在甲板上投下跃动的阴影。船舱壁旁有一块小小的铜牌,上面刻着字:

水手

John的脊柱抽动了一下,虽然他不知道为什么。这两个字里有什么引起了他与生俱来的恐惧,好像唤起了他经历过的什么童年创伤,就像蜘蛛恐惧症患者看见自己手上有只狼蛛一样。他知道那扇门后面有什么,就像他知道自己的名字一样确信。他知道他必须得进去,面对另一边的无论什么。没有退路。它必然会引向死亡,对其他人来说毫无疑问,对他来说则是很有可能。

此刻天气寒冷,又下起了雨,他呼出的气息都凝成了热腾腾的白雾。

“这地方真他妈吓人。那里是什么?”Morgen出现在John的左边,手里拿着枪。

“船舱吧,我猜是。”John不能确信门后面究竟是什么,但很确定那不是个船舱。

Karter后退一步,目光反复审视着甲板。Karter可能足够聪明,能察觉到这里不对劲。可能他也在试图将船的全貌尽收眼底时感觉到了脑后的刺痛。但他不是模因学家,也没有经历过让人发疯的字符的训练,他不了解它们的功能,所以他是盲的。我无法在接下来的事情里拯救他们。

“让开,这里交给我。”Morgen上前,把耳朵贴在船舱壁冰冷的金属上。他等待了片刻,脸部因为专注而扭曲,仔细听着脚步声和移动的声音。他能听见的只有一阵低沉、有节奏的沙沙声,却无法辨认。在他身后,Karter来来回回、来来回回地张望,每次都会注意到新的生锈管道、破损的刻度盘、散落在甲板上的破旧绳索片段和布片。他睁大了双眼,咽下一声尖叫。在水面下的某处,Bruce懒洋洋地靠近了“无赖”号的船舵,突然一滴冷汗滴在他的秃头上。他手臂上的汗毛立刻竖了起来,电光火石之间,John感觉自己曾在他身上见过的那种冷静的智慧穿透了他朦胧的双眼,他感知到了一种连在最深的梦魇里都从未曾见识过的恐惧。

Morgen伸手碰到了门把手。John急迫地想开口说话,想阻止这个他知道会让所有人都必死无疑的行为,但他的身体一动也不能动。他眼里开始积蓄泪水,他感觉到命运压倒性的重量压在他的肩膀上。事情本来就该如此,它早在数亿年前就已经确定,再过数亿年后也还是一样

“对不起。”他只在喉咙口挤出了这个词。

Morgen拉下了门把手,短暂的困惑、或许是沉思的神情在他脸上闪过。舱门轻松地打开了,它生锈的铰链没有发出一点声音,舱壁缓缓地裂开。一道白光从门缝后的船舱里射出。Morgen意识到一切都已经来不及了,用力想用自己的体重把门板关上,但门却自作主张地快速而猛烈地弹开了。它撞上了惊惧万分的Morgen,让他在一阵潮湿的扑通声里踉跄着后退了几步。炫目的光芒如超新星爆发般覆满了船,沿着海洋撒下,一路染上天空。John任由它将自己头顶淹没。在一个短暂的片刻,就在他的心智被从身体上剥夺之前,他看见了门后的景象,他知道会在那里却无法言说的存在:一片绿色的海洋,满是怪物,都在满怀期待地拍打着那片漫长、平整的海滩。

V

John在海滩上醒来。他立刻认出了空气中咸咸的盐味和吹着他脸颊的冷风。他低头看着自己的身体。

我死了吗?

海滩和他记忆里一样荒凉。他的左边是海,笼罩着一层厚厚的雾,让他看不见数十米外的东西。他的右边是黑压压的山脚,山顶也不隐匿不见。头顶上只有一片无际的灰,但他知道上方有月亮、星辰和不可理解的事物。他知道自己前方躺着的是什么,但尽可能拒绝去看它。腐臭味灼烧着他的眼睛,他不知道自己在理智被它彻底吞噬之前还能这样盯着尸体多久。但这时,他听见了一个声音。

“想坐一下吗,陌生人?喘口气?”

John猛地转身,双臂下意识地做出防御的动作。在他身后不远,有个男人坐在篝火旁。他看着就像刚从《致命捕捞》的拍摄现场走出来的一样,从头到脚披着一身脏兮兮的黄色橡胶服,典型的渔人装扮。他的衣服各处都有些撕裂,上面覆盖着一层永远擦不干净的水渍和污垢。他很老了,但他的模样比实际年龄更老。他脸上的皱纹诉说着被海盐里浸透的漫长岁月。金属丝般的银发从他耷拉的黄色斗帽下露出。他咬着一根破破烂烂的烟斗,里面曾经装着的一点烟草早就烧光了。他坐在一片破碎的浮木上,是John在这片整洁的海滩上唯一看见的异物。除了那具尸体以外,他提醒自己。

篝火快要熄灭了,燃尽了揉皱的报纸和松针,颤抖地弹出最后的灰烬。男人把一根棍子放在火苗上,棍子上串着一块陌生动物的白色肉块。

“坐吧,”他说,“还是说你更想继续盯着那东西?”他指了指那尸体。

John小心地靠得离火焰更近了点。火光好像在被他注意到之后燃烧得更亮了,虽然只有一瞬间。两人沉默地坐着,只有火焰的爆裂的声音打破了寂静的空气。

男人举起棍子。“饿吗?”

John说不出话。他太兴奋了,注意不到饥饿,但最终还是生理反应占了上风。

男人笑了。“我不怪你,这东西吃着跟毒药似的。撒点盐会更好。”他把手伸进外套,拿出一把细细的白色粉末,撒在肉上,一口咬了下去。“也很有嚼劲。”他在膝盖上折断空了的木棍,把它扔进火里。

过了一会儿,John说话了。

“这是什么?”他说得更像陈述句而不是问句。他其实已经有些知道了答案。这里就是海滩。是你儿时梦中的海滩。记得吗?那里有怪物,鳍像刀一样锋利,利齿可以切碎钢铁。朝霞不出门,晚霞行千里。

“我看你已经知道了。”男人沙哑地说,“更好的问题是‘我是谁?’好好想想,我不应该在这里。”他确实不应该。从他在儿时操场上踢球的时候开始,每次看到这个地方的短暂幻象和记忆中,John都是独自一人站在这片海滩上。想到还有别人和他一起坐在这里本来会让他惊恐不已,但这个男人的存在却让他感到很安心。这让他想起自己还是清醒的。

男人举起双手。“别担心,我只是路过的。一个旅行者。我来这就是因为那个。”他指了指那尸体,让John又注意到了它的腐臭,“我隔着一片海就能闻到它,忍不住就想来看一眼。我觉得那具尸体可能就是一个货真价实的天使。现在这种东西已经不多见了。一般只有使徒——真正有趣的那些都在海里死掉了,深得难以打捞。这片海滩可能是你的头奖,孩子。”

男人的话从John的耳边飘过。他只是半用着心听着——他的注意力全在那具尸体的弯曲和褶皱上。他的思绪一遍遍拼凑着它生前的模样,却一遍遍失败。

“停下,否则你会失心疯的。”John突然反应过来,转身面对着那个人。

“这是真的吗?不可能,我……我还以为一切都只是——”

“一个梦?这看起来很像梦吗?”他发出一阵气喘吁吁的笑声,“恐怕不是。你到了我们死后都会来到的地方。”

“这里是地狱?”

“也可能是天堂。我还没确定。”

“但我见过这个地方……我认识这个地方。我一直都知道。你甚至自己都说了我知道自己在哪。”

男人咕哝了一声。“我没跟你开玩笑,如果你是这个意思的话。我醒来前也见过这个地方,在梦里。这个地方就是这么有趣。”

“那‘这个地方’是什么?”

男人不耐烦地看了他一眼,好像John在问天空是什么颜色一样。John当然知道。这个地方就是地球。但不是我的时代。那个答案很站不住脚,但他也知道这一点。事情远不止如此,但他不觉得那人会知道答案。还有一个问题依然在他脑内挥之不去。

“你是‘水手’吗?”

男人抬起头,看着很疑惑。“什么意思?”

“呃,在我醒来之前,我在一艘船上。我看到了一扇门。上面写着‘水手’。”

男人耸了耸肩。“没听说过。”

John向后一靠,很是沮丧。他第一次把身体放松下来,这才开始意识到自己究竟有多疲惫。我真的已经死了吗?死人会觉得身体酸痛吗?John惊讶地发现旧日生活的记忆在迅速地溜走。派遣队好像已经是上辈子的事情了。

“喂,呃,你要歇会吗?你看起来好像快撑不住了。我看看能不能抓点什么。明天我们把那条鲸鱼处理了就离开这儿。我可不想在别的什么闻到那东西的味道之后还待在这里。”

John累得无力反驳。他把头枕在浮木上,心不在焉地盯着火焰。

男人开口了。“说起来,我还没问过你的名字。我叫Irving。”他伸出一只干瘪的手。

John花了点时间对抗困意,伸出自己的手和他握了握。“John Delmar。”

然后他就不省人事了。

VI

在很远很远的某处,一艘漆黑如夜的船耸起了它丑陋的头。它如饥似渴地吞噬着三个人的尸体,每个人的双眼都空洞地瞪大,脸上凝固着尖叫的面容。第四个人在别的地方,从那扇疯狂之门里死里逃生。

水手从虚空中被召唤了出来,恐怖之船想着。它会经受住这次旅程的。它的金属部分发出了嘎吱嘎吱的声音。它很旧了。数百亿年之久。它很疲惫。但还有更多的工作要做。

于是它转向,朝着下一个地点,全身心地期待着回家的那天,回到绿色的海水与怪物之中。

Transparent.gif

[{$previous-url} {$previous-title}]


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