/* source: http://ah-sandbox.wikidot.com/component:collapsible-sidebar-x1 */
#top-bar .open-menu a {
position: fixed;
bottom: 0.5em;
left: 0.5em;
z-index: 15;
font-family: san-serif;
font-size: 30px;
font-weight: 700;
width: 30px;
height: 30px;
line-height: 0.9em;
text-align: center;
border: 0.2em solid #888 !important;
background-color: #fff !important;
border-radius: 3em;
color: #888 !important;
text-decoration: none!important;
}
@media (min-width: 768px) {
.mobile-top-bar {
display: block;
}
.mobile-top-bar li {
display: none;
}
#main-content {
max-width: 708px;
margin: 0 auto;
padding: 0;
transition: max-width 0.2s ease-in-out;
}
#side-bar {
display: block;
position: fixed;
top: 0;
left: -25em;
width: 17em;
height: 100%;
background-color: rgb(184, 134, 134);
overflow-y: auto;
z-index: 10;
padding: 1em 1em 0 1em;
-webkit-transition: left 0.5s ease-in-out 0.1s;
-moz-transition: left 0.5s ease-in-out 0.1s;
-ms-transition: left 0.5s ease-in-out 0.1s;
-o-transition: left 0.5s ease-in-out 0.1s;
transition: left 0.5s ease-in-out 0.1s;
}
#side-bar:after {
content: "";
position: absolute;
top: 0;
width: 0;
height: 100%;
background-color: rgba(0, 0, 0, 0.2);
}
#side-bar:target {
display: block;
left: 0;
width: 17em;
margin: 0;
border: 1px solid #dedede;
z-index: 10;
}
#side-bar:target + #main-content {
left: 0;
}
#side-bar:target .close-menu {
display: block;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: rgba(0,0,0,0.3) 1px 1px repeat;
z-index: -1;
}
}
/*
Penumbra Theme
[2020 Wikidot Theme]
By EstrellaYoshte
Based on:
Paperstack Theme by EstrellaYoshte
Ad Astra Theme by NatVoltaic and stormbreath
Inkblot Theme by Croquembouche
Anderson Robotics Theme by Croquembouche
BHL Style Collapsible by Monkatraz
Edited for SCP-JP by ukwhatn
*/
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
@import url(https://fonts.googleapis.com/css2?family=Fira+Code&display=swap);
#page-content { font-size: .9rem; }
body {
font-family: 'Roboto', sans-serif;
color: #EDEDED;
background-color: #2F333C;
background-image: linear-gradient(
to bottom,
#21252E, #21252E 90px,
#21252E 90px, #2F333C 200px,
#2F333C 200px, #2F333C 100%);
background-repeat: no-repeat;
}
#main-content {
top: -1.2rem;
}
/* ---- SCROLLBAR ---- */
::-webkit-scrollbar {
width: 9px;
background: transparent;
}
::-webkit-scrollbar-track {
background: #21252E;
}
::-webkit-scrollbar-thumb {
background: #ededed;
border: none;
}
::-webkit-scrollbar-thumb:hover {
background: var(--accentColor);
}
/* ---- HEADER ---- */
div#container-wrap {
background-image: none;
}
div#header {
background-image: none;
}
div#extra-div-1 {
height: 164px;
width: 100%;
top: 0;
position: absolute;
background: var(--lgurl);
background-size: contain;
background-repeat: no-repeat;
background-position: 50% 50%;
z-index: -1;
}
#header h1, #header h2 { margin-left: 0; float: none; text-align: center; }
/* Move the subtitle down a smidge */
#header h2 { margin-top: 0.45rem; }
/* Hide the existing text */
#header h1 span, #header h2 span { font-size: 0; display: none; }
/* Style the new text */
#header h1 a::before, #header h2::before {
color: var(--accentColor);
font-family: 'Josefin Sans', sans-serif;
text-shadow: none;
}
/* Set the new text's content from variable */
#header h1 a::before {
content: var(--header-title, "SCP FOUNDATION");
font-weight: 300;
font-size: 1.3em;
}
#header h2::before {
content: var(--header-subtitle, "SECURE - CONTAIN - PROTECT");
font-weight: 600;
font-size: 1.22em;
}
#login-status {
color: #ededed;
}
#login-status a {
color: var(--accentColor);
}
#login-status ul a {
color: #ededed;
background: #21252E;
}
#login-status ul a:hover {
color: var(--accentColor);
}
#account-topbutton{
border: solid 1px var(--accentColor);
}
#footer, #footer a {
background: transparent;
color: #ededed;
}
#license-area {
color: #ededed;
}
#search-top-box {
top: 2.2rem!important;
right: 8px;
}
#search-top-box-form > input[type=submit] {
border: solid 1px #ededed;
background: #21252E!important;
box-shadow: none;
border-radius: 0;
color: #ededed;
transition: color 0.15s linear;
}
#search-top-box-form input[type=submit]:hover {
border: solid 1px var(--accentColor);
box-shadow: none;
color: var(--accentColor);
}
#search-top-box-form > input[type=text] { display: none; }
/* ---- TOP BAR ---- */
#top-bar {
top: 8.4rem;
display: flex;
justify-content: center;
right: 0;
}
#top-bar, #top-bar a {
color: #ededed;
transition: color 0s;
}
#top-bar ul li ul {
border-color: var(--accentColor);
overflow: hidden;
}
#top-bar ul li.sfhover ul li a,
#top-bar ul li:hover ul li a {
border-top-color: #2F333C;
}
#top-bar ul li.sfhover a,
#top-bar ul li:hover a {
background: #21252E;
color: #ededed;
}
#top-bar ul li.sfhover a:hover,
#top-bar ul li:hover a:hover {
background: #21252E; /* top bar hover background color */
color: var(--accentColor);
transition: color 0.1s linear;
}
/* ---- SIDE BAR ---- */
div#side-bar{
background: #21252E;
clear: both;
padding: .8em;
border-radius: 0;
box-shadow: none;
overflow-x: hidden;
}
#side-bar .heading{
color: #ededed;
font-family: 'Josefin Sans', sans-serif;
font-size: 0.94rem;
border-bottom: solid 1px #ededed;
}
#side-bar .side-block {
border: transparent;
border-radius: 0;
box-shadow: none;
background-color: #21252E!important;
}
#side-bar .side-block.media {
background-color:#21252E;
}
#side-bar .side-block.media > * {
display: flex;
justify-content: space-evenly;
}
#side-bar .side-block.resources {
background-color:#21252E;
}
.side-block .menu-item > .image {
display: none;
}
#top-bar div.open-menu a {
border-radius: 0;
box-shadow: none;
color: var(--accentColor)!important;
background-color: #21252E!important;
border: solid 1px #21252E!important;
}
@media (max-width: 767px) {
#main-content {
padding: 0;
margin: 0 5%;
border-left: none;
}
#page-title {
margin-top: 0.7em;
}
#side-bar {
background-color: #21252E;
left: -21em;
}
#side-bar:target {
border: none;
box-shadow: none;
}
#side-bar .close-menu {
transition: width 0.5s ease-in-out 0.1s,
opacity 1s ease-in-out 0s;
display: block;
position: fixed;
width: 100%;
height: 100%;
top: 0;
right: 0;
background: rgba(0,0,0,0.3);
background-position: 18.6em 50%;
z-index: -1;
opacity: 0;
pointer-events: none;
}
#side-bar:target .close-menu {
width: calc(100% - 18.6em);
right: 0;
left: auto;
opacity: 1;
pointer-events: auto;
}
#side-bar:target .close-menu:hover {
background: unset;
}
#page-content > hr, #page-content > .list-pages-box > .list-pages-item > hr {
margin: 3em -5.5%;
}
#side-bar {
top: 0;
}
#side-bar .heading {
padding-left: 1em;
margin-left: -1em;
}
#search-top-box {
top: 107px;
}
}
/* ---- TABS ---- */
/* ---- YUI TAB 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}
/* ---- YUI TAB 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: var(--accentColor);
box-shadow: none;
}
.yui-navset .yui-nav a, /* ---- Link Modifier ---- */
.yui-navset .yui-navset-top .yui-nav a{
color: #ededed;
font-weight: bold;
/* ---- Tab Background Colour | [UNSELECTED] ---- */
background-color: #21252E;
border: unset;
box-shadow: none;
box-shadow: none;
transition: background-color 0.15s linear;
}
.yui-navset .yui-nav a:hover,
.yui-navset .yui-nav a:focus{
color: #ededed;
/* ---- Tab Background Colour | [HOVER] ---- */
background-color: var(--accentColor);
}
.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: #ededed;
background-color: #21252E;
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: var(--accentColor);
}
.yui-navset .yui-nav .selected a,
.yui-navset .yui-nav .selected a em{
border: none;
}
.yui-navset .yui-nav .selected a{
width: 100%;
color: #21252E;
font-weight: bold;
}
.yui-navset .yui-nav .selected a:focus,
.yui-navset .yui-nav .selected a:active{
color: #21252E;
background-color: var(--accentColor);
}
.yui-navset .yui-content {
background-color: #21252E;
box-shadow: none;
}
.yui-navset .yui-content,
.yui-navset .yui-navset-top .yui-content{
padding: .5em;
border: none;
}
/*---- TAB ANIMATION by Croquembouche ---- */
.yui-navset .yui-content > div {
display: block;
top: 0;
overflow: hidden;
transform-origin: 0 0;
}
#page-content .yui-navset .yui-content > div[style*="none"] {
display: block !important;
flex: 0;
max-height: 0;
padding: 0 0.5em;
border-width: 0;
/* The following transition affects the one that DISAPPEARS */
transition: padding 0s linear 0.5s,
border-width 0s linear 0.5s,
flex 0.5s cubic-bezier(.18,.51,.54,.9) 0s;
animation: tab-disappear 0.5s ease-in-out 0s 1 both;
}
#page-content .yui-navset .yui-content > div[style*="block"] {
display: block !important;
flex: 1;
max-height: 9999rem;
/* The following transition affects the one that APPEARS */
transition: padding 0s linear 0.5s,
border-width 0s linear 0.5s,
flex 0.5s cubic-bezier(.18,.51,.54,.9) 0.5s;
animation: tab-appear 0.5s ease-in-out 0.5s 1 both;
}
@keyframes tab-disappear {
0% { max-height: 9999rem; }
1% { max-height: 100vh; }
100% { max-height: 0; }
}
@keyframes tab-appear {
0% { max-height: 0; }
99% { max-height: 100vh; }
100% { max-height: 9999rem; }
}
/* ---- INFO BAR ---- */
body{
--barColour: #21252E;
--linkColour: #ededed;
}
.info-container .collapsible-block-content{
padding: 0 .5em 30px;
}
.info-container .collapsible-block-content .wiki-content-table{
width: 100%;
}
/* Ayer's info-bar patch by Monkatraz */
#page-content .info-container .collapsible-block-folded, #page-content .info-container .collapsible-block-unfolded-link {
width: 100%;
max-width: 100%;
margin: 0 auto;
padding: 0;
box-shadow: none;
}
#page-content .info-container .collapsible-block-link::before, #page-content .info-container .collapsible-block-unfolded-link::before {
content: " ";
display: none;
}
#page-content .info-container .collapsible-block-content::after {
display: none;
}
/* ---- INFO PANE ---- */
#page-content .creditRate{
margin: unset;
margin-top: 4px;
margin-bottom: 4px;
margin-right: 3px;
}
#page-content .rate-box-with-credit-button {
background-color: #21252E;
border: solid 2px #21252E;
border-radius: 0;
box-shadow: 3px 0px 0px 0px var(--accentColor);
}
#page-content .rate-box-with-credit-button .creditButton p a {
border-left-color: transparent;
}
#page-content .rate-box-with-credit-button .page-rate-widget-box .cancel {
border-radius: 0;
}
#page-content .rate-box-with-credit-button div.page-rate-widget-box .rate-points {
border-left: 0;
}
.rate-box-with-credit-button .page-rate-widget-box .cancel a:hover {
border-radius: 0;
}
#page-content .rate-box-with-credit-button .fa-info {
color: #ededed;
}
#page-content .rate-box-with-credit-button .fa-info:hover {
color: var(--accentColor);
}
#page-content .creditButtonStandalone p a {
background-color: #21252E;
border: solid 2px #21252E;
border-radius: 0;
box-shadow: 3px 0px 0px 0px var(--accentColor);
color: #ededed;
}
#page-content .creditButtonStandalone p a:hover {
color: var(--accentColor);
}
#page-content .modalbox {
background: #2F333C !important;
color: #ededed;
box-shadow: none;
}
.close-credits,
.credit-back {
filter: grayscale(100%) invert(100%) contrast(275%);
}
/* ---- Credit Module for JP ---- */
#page-content .creditRate.creditModule .rate-box-with-credit-button {
background-color: #21252E!important;
}
#page-content .creditRate.creditModule .rate-box-with-credit-button .creditButton {
background-color: unset;
border: unset;
box-shadow: unset;
}
#page-content .creditRate.creditModule ~ #u-credit-view .modalbox .modalbox-title {
background: #21252e;
}
/* ---- PAGE RATING ---- */
.page-rate-widget-box {
margin: unset;
border-radius: 0;
border: solid 2px #21252E;
box-shadow: 3px 0px 0px 0px var(--accentColor);
background-color: #21252E;
margin-top: 4px;
margin-bottom:4px;
margin-right: 3px;
}
div.page-rate-widget-box .rate-points {
background-color: #21252E;
border: none;
color: #ededed !important;
text-transform: capitalize;
}
.page-rate-widget-box .rateup,
.page-rate-widget-box .ratedown {
background-color: #21252E;
border-top: none;
border-bottom: none;
}
.page-rate-widget-box .rateup a,
.page-rate-widget-box .ratedown a {
background: transparent;
color: #ededed;
}
.page-rate-widget-box .rateup a:hover,
.page-rate-widget-box .ratedown a:hover {
background: #21252E;
color: var(--accentColor);
}
.page-rate-widget-box .cancel {
background: transparent;
background-color: #21252E;
border: none;
}
.page-rate-widget-box .cancel a {
color: #ededed;
}
.page-rate-widget-box .cancel a:hover {
background: #21252E;
color: var(--accentColor);
}
/* ---- PAGE ELEMENTS ---- */
.page-source, tt{
font-family: "Fira Code", monospace;
font-size: 0.87rem;
}
.code pre, .code p, .code {
font-family: "Fira Code", monospace;
font-size: 0.87rem;
color: #21252E;
}
h1 {
color: var(--accentColor);
font-family: 'Josefin Sans', sans-serif;
font-weight: bold;
}
h2,
h3,
h4,
h5,
h6 {
color: #EDEDED;
font-family: 'Josefin Sans', sans-serif;
font-weight: bold;
}
#page-title {
color: #ededed;
font-family: 'Josefin Sans', sans-serif;
font-size: 1.65rem;
text-align: center;
border-color: #ededed;
}
/* Clicky links */
a,
a.newpage,
a:visited,
#side-bar a:visited {
color: var(--accentColor);
transition: color 0.15s linear;
}
a:hover, a.newpage:hover, a:visited:hover, #side-bar a:visited:hover {
color: #ffffff;
text-decoration: none;
background-color: var(--accentColor);
}
a.newpage { filter: hue-rotate(180deg); }
/* 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;
}
hr{
background-color: var(--accentColor);
}
blockquote,
div.blockquote,
#toc {
background-color: #21252E;
border: solid 2px #2F333C;
box-shadow: -3px 0px 0px -0.1px var(--accentColor);
}
.code {
background-color: #F8F8F8;
border: solid 3px #2F333C;
box-shadow: none;
}
.scp-image-block {
border: solid 8px #21252E;
border-bottom: solid 0px #21252E;
box-shadow: 0px 0.26rem 0px 0px var(--accentColor);
box-sizing: border-box;
}
.scp-image-block .scp-image-caption {
background-color: #21252E;
border: solid 4px #21252E;
color: #ededed;
font-size: 0.84rem;
}
.scp-image-block.block-left { margin-left: 0; }
.scp-image-block.block-right { margin-right: 0; }
@media (max-width: 540px) {
.scp-image-block.block-left, .scp-image-block.block-right {
float: none; clear: both; margin-left: auto; margin-right: auto;
}
}
#page-content .wiki-content-table tr th {
border: solid 1px var(--accentColor);
color: var(--accentColor);
background-color: #21252E;
/* set border for table title */
}
#page-content .wiki-content-table tr td {
border: solid 1px var(--accentColor);
/* set border for table content */
}
/* fancy collapsible */
#page-content .collapsible-block-folded, #page-content .collapsible-block-unfolded-link {
background: #21252E;
transition: background 0.25s linear;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 1rem;
padding-right: 1rem;
width: min-content;
white-space: nowrap;
overflow: hidden;
margin: auto;
}
#page-content .collapsible-block-folded .collapsible-block-link::before {
content: "▷ ";
}
#page-content .collapsible-block-unfolded .collapsible-block-link::before {
content: "▽ ";
}
#page-content .collapsible-block-link {
text-decoration: none;
color: #ededed;
font-weight: bold;
}
#page-content .collapsible-block-folded:hover, #page-content .collapsible-block-unfolded-link:hover {
background: var(--accentColor);
}
#page-content .collapsible-block-unfolded-link {
box-shadow: 0px -0.26rem 0px 0px var(--accentColor);
}
#page-content .collapsible-block-folded, #page-content .collapsible-block-unfolded-link {
margin-top: 10px;
margin-bottom: 10px;
}
/* Selection */
::selection {
background: var(--accentColor);
color: #ffffff;
}
/* Footnotes */
.hovertip {
font-size: .9rem;
background-color: #21252E !important;
border: solid 1px var(--accentColor) !important;
}
.footnotes-footer {
background-color: #21252E;
padding-left: 1.4rem;
padding-right: 1.4rem;
padding-bottom: 1.5rem;
box-shadow: -0.24rem 0px 0px 0px var(--accentColor);
}
.footnotes-footer .title {
color: #ededed;
}
.footnote .f-footer, .equation .e-footer, .reference .r-footer {
display: none;
}
/* Tags */
#main-content .page-tags a {
margin-top: .18rem;
}
.page-tags span {
border-top: 1px solid #ededed;
}
/* Pop-Up Windows */
.owindow {
background-color: #21252E;
border-color: var(--accentColor);
}
.owindow .modal-header {
background-color: #21252E;
}
.owindow .modal-body img {
background-color: transparent !important;
}
.owindow .title {
background-color: #21252E;
color: #var(--accentColor);
border-bottom: 1px solid #2F333C;
}
.owindow .button-bar a {
background-color: #21252E;
border-color: var(--accentColor);
color: #ededed;
}
.owindow .button-bar a:hover {
background-color: var(--accentColor);
}
/* Edit Buttons */
.buttons .btn {
background-color: #21252E;
border-color: var(--accentColor);
color: var(--accentColor);
padding: 3px 5px;
}
.buttons .btn:hover {
background-color: var(--accentColor);
color: #21252E;
}
/* Edit Lock Info*/
#lock-info {
background-color: #21252E;
border-color: #ededed;
}
/* Close Button for Page Source, Rating, Etc */
a.action-area-close:hover {
background-color: #21252E;
}
/* Page-History Current */
.pager .current {
background-color: var(--accentColor);
border-color: #ededed;
}
/* History Compare */
.inline-diff ins, .inline-diff del {
color: #21252E;
}
/* ---- INTERWIKI ---- */
.scpnet-interwiki-frame{
filter: invert(100%) grayscale(100%) contrast(75%);
}
/* ---- CUSTOM SYNTAX ---- */
.darkbox {
background-color: #21252E;
border-left: solid 0.26rem var(--accentColor);
border-right: solid 0.26rem var(--accentColor);
padding: .4rem;
margin-top: 12px;
margin-bottom:12px;
}
.lightbox {
background-color: #ededed;
color: #21252E;
border-left: solid 0.26rem var(--accentColor);
border-right: solid 0.26rem var(--accentColor);
padding: .4rem;
margin-top: 12px;
margin-bottom:12px;
}
.lightbox h2, .lightbox h3, .lightbox h4, .lightbox h5, .lightbox h6 {
color: #21252E;
}
.limit {
margin-bottom: -1rem;
z-index: 5;
}
.anchor {
position: sticky;
height:0;
top: 0;
z-index: 5;
}
.sidebox {
background-color: #21252E;
border-top: solid 2px var(--accentColor);
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;
}
/* Sidebox mobile optimization, courtesy of Woed */
@media (max-width: 1290px) {
.sidebox {
width: auto;
max-width: 65vw!important;
border: none;
padding-left: 0.4rem; padding-right: 0.4rem;
top: 0.75rem;
right: calc(((100vw - 45.8rem)/2) * -1);
left: initial;
-webkit-clip-path: inset(-0.125rem -0.25rem 0 calc(100% - 0.85rem));
clip-path: inset(-0.125rem -0.25rem 0 calc(100% - 0.85rem));
-webkit-transition: color 0.2s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s;
transition: color 0.2s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s;
-o-transition: color 0.2s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s;
transition: color 0.2s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s;
transition: color 0.2s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s;
overflow: visible;
}
.sidebox::before, .sidebox::after {
content: " ";
position: absolute;
right: 0;
}
.sidebox::before {
top: calc(50% - 0.75rem);
width: 0;
height: 0;
border-top: 0.75rem solid transparent;
border-bottom: 0.75rem solid transparent;
border-right: 0.75rem solid var(--accentColor);
transition: border 0.1s ease-in-out 0.1s;
z-index: 10;
}
.sidebox::after {
top: 0;
max-width: 0.75rem;
width: 100%;
height: 100%;
box-shadow: 0.15rem 0 0 0 var(--accentColor);
max-height: calc(100vh - 18rem);
background-color: #21252E;
z-index: -1;
transition: box-shadow 0.5s ease-in-out 0.1s, max-width 0.5s ease-in-out 0.1s;
}
.sidebox > * {
opacity: 0;
-webkit-transition: opacity 0.2s ease-in-out 0.2s;
-o-transition: opacity 0.2s ease-in-out 0.2s;
transition: opacity 0.2s ease-in-out 0.2s;
}
.sidebox:hover {
overflow: visible;
-webkit-clip-path: inset(-0.125rem -0.25rem 0 0);
clip-path: inset(-0.125rem -0.25rem 0 0);
-webkit-transition: color 0.5s ease-in-out 0.2s, right 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s;
transition: color 0.5s ease-in-out 0.2s, right 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s;
-o-transition: color 0.5s ease-in-out 0.2s, right 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s;
transition: color 0.5s ease-in-out 0.2s, right 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s;
transition: color 0.5s ease-in-out 0.2s, right 0.5s ease-in-out 0.1s, clip-path 0.5s ease-in-out 0.1s, box-shadow 0.5s ease-in-out 0.1s, -webkit-clip-path 0.5s ease-in-out 0.1s, -webkit-box-shadow 0.5s ease-in-out 0.1s;
}
.sidebox:hover::before {
border-top: 0 solid transparent;
border-bottom: 0 solid transparent;
}
.sidebox:hover::after {
box-shadow: 0 -0.125rem 0 0 var(--accentColor);
right: 0;
max-width: 100%;
}
.sidebox:hover > * {
opacity: 1;
}
}
@media (max-width:768px) {
.sidebox, .sidebox:hover {
right: calc(((100vw - (100% - 3rem))/2) * -1 + 1.9rem);
}
}
:root {
--accentColor: #1EB5E8;
--lgurl: url("http://scp-jp-storage.wdfiles.com/local--files/file%3A3396310-43-tbvr/logo.png");
}
空は終われり
「月はいつ見てもきれいだった。もう眺められなくて寂しい」彼女は訥々と言う。「もう一度見たい。太陽、月、星……」
彼女はため息を漏らす。彼女とカルはベッドに身を沈ませ、天井を見つめていた。既にこの状況にも慣れ始めていた。何も見なくていいようにと、彼女は目を閉じる。元々胃が弱い方でもなかったのだが、外に出ようものならどうなるかを考えるたびに、胃がよじれるような思いだった。彼女はカルを、より近くへと、抱きしめる。まるで彼が生き残った最後の人類であるかのように。実際、別段間違った思い込みでもなかった。その心臓の鼓動を、彼女は味わう。それは彼が本物で、彼女が本物で、そして残念ながら、この世界が本物であることを思い出させる最後のものだった。彼女はほとんどの時間を、ただ一つの愛を抱きしめながら、身を投げ出して過ごした。
彼は彼女の腕、ひいては全身が震えるのを感じ取る。何を言おうとしているのかを察し、カルはそれに答えようと引き寄せる。彼女が前に言っていたことを思い出すと、胸が痛んだ。月を思い出せる何かがないか、心の中を探し始める。ゆっくりと、2021年2月13日、どれよりもほろ苦い日へとたどり着いた。
カルが何も言わずとも、彼女は理解し、彼の頭を浚って指を髪に絡ませる。どれだけ近付こうとも、彼女はいつも上の空だった。他の誰しもと同じく、彼女から彼が滑り落ちて消えてしまうかのように。彼女は目でその顔を追う。彼の胸のどちらが上でどちらが下かももうわからない。ただひたすらに、その存在を近くに持っていたかった。
「こっちだって寂しい」彼はとうとう言葉を発する。
彼女は起き上がり、ゆっくりと目を閉じ、数秒そうしていたかと思えば、また開いた。カルも目を閉じるのに続き、一足遅れて開く。心地のよい安穏が押し寄せる。会話に言葉など必要ではない。2人は必死に言葉を発すまいと努める。お互いの声が聞きたいという切望を抑えて。小さく、安全な部屋に注目を集めるのには耐えられなかった。彼女は目を逸らす。彼は微動だにしなかったが、異常なことでもない。彼の柔らかな肌にキスをする。
「お…… 覚えてる?」彼は尋ねる。
「何を?」
「2月13日」
カタリナは息を止めて頷く。その日のことを考えるのは好きだ。ただ一つ、彼女を正気に保たせてくれるものだった。それに、2人はサイト-19には行かないと決めていた。そうしようものなら何が起きるか、目にしたくはなかった。外界との唯一の繋がりは数週間前から沈黙していて、彼らがもういないと考えるほかに余地はない。それを考えるたびに、カルが出ていったらどうなるかを自問する。
「どうなるの?」
カルは質問に首をかしげる。「外に出たらってこと?」
正直に言えば、彼は何が起こるのか完全にはわかっていなかった。大方、例のアレらの一つになることだろう。不死の、肉質で、蝋質で、粘着質の塊。順応することはわかっていたが、何にどう影響するのかは判然としなかった。疑問の波が心に押し寄せるが、どれ一つとして明確な答えは出なかった。
「他のみんなと一緒で、多分塊に落ち着くんだろうな」
彼から漂う香りは相も変わらず、こんな状況でさえ、心地よいものだった。2人は自分の心へと逃げ込み、最後の日へと立ち返ろうとする。これはよくあることだ。悲しみ以外のことを感じたいという欲求を静めるものだった。
「覚えてる…… 私たちはサイト-37を出た。寒い日だった。そうね、2月だった」カタリナの声はようやく普通の調子に戻ったようだった。「山に行った、サイト-37のすぐ外の。まあ、頂上までハイキングするのはすごい長かったんだけどね」彼女は笑い、カルの腕を優しく叩く。「何で山登りなんてしたがったの?」
「ハイキングが長くなったのはお前が山の下の川に飛び込んだからじゃないか。深さがどれくらいかも知らなかったのに! とりあえず、怪我はしなかったみたいだけど」彼はため息をつく。「いずれにせよ、あの夕日は見て良かった。それに、明日お前が出てくって知ってたから、2人一緒のバレンタインデーを逃したくなかった。お前は星が大好きで、天文台に行こうと思ってたことはよく知ってた。デートのプランを立てるのも難しくはなかった」
「2人のうちじゃ私の方が声が大きいことまで考えてたのね! 天文台じゃなくて星空観察に私を連れてっただけかと思ってた。私の手を取って、日が他の山の下に沈み始めると同時にきれいな言葉を言ってくれたっけ」
彼は手を伸ばし、互いの指を絡める。「お前は一日中馬鹿みたいに幸せそうだった。とても可愛かったし、見つめ合うたびに心臓が溶けだしそうだった。あくまで一緒に仕事をしてるだけだと、できるだけプロらしくしようとはしたが、結局私たちはよく笑う中学生のガキのままだった」最後の発言に彼女は笑う。
「太陽は息を呑むほど美しい。お前と同じくらいだが、比べるものじゃないな。あそこには何があるんだろうとずっと気になってた…… ただまあ、2人とも地球にいる以上どういうこともないけど。前に、『何があろうと2人は一緒だ』と約束した。私たちが共に見たもの、共にぶつかった問題、共に誓ったこと、そして互いをどう感じているかまで、これはずっと私たちの人生でずっとはっきりと変わらない。指輪にだってそれを刻んだ」
「私たちの心に刻んだ」あの時の言葉の再現を遮って、彼女は言う。
「正直、お前と一緒に過ごした人生で嬉しくなかったときなんて一つも思いつかない。離れ離れになるたびに、何かが欠けているような思いだった。あの感覚は嫌なもんだ。実に、孤独だった。きっとお前も同じだろう」彼は言葉を続ける。
「そうねぇ…… その時は毎回暗黒期だった」彼女は頷く。「あの言葉は泣けた。いちいち遮っちゃって悪いけど、でも、あなたはこういうのがホント上手ね。続けさせたら多分また泣いちゃう。そんなことになったら、暗闇に出てき始めた星もほとんど見えなくなっちゃう。あなたが元々何しようとしてたかはわかってるわよね」彼女は意地悪げに笑う。
「あぁもちろん、私は史上最高のデートプランナーだからな。そういえば! 天文台に入ったときお前がどんな顔してたか覚えてるか? 相当に可愛かった。またあの顔を見られるならなんだってする。まず見たがったのはオリオンのベルトだったか。あれは一等モノだった、星だけにな」彼は自分のひどいジョークにウインクする。2人とも吹き出してしまう。
「あなたがプロポーズしてくれた日とそっくりだった。いやぁ、本当にかっこよかったわよ。私が宇宙とか星とか好きなの知ってて、あなたはいたずらっぽい感じだった。星の下じゃなくてもイエスって言うつもりではあったけど、それが私の心にぴったりはまったのは間違いない。あなたとっても緊張してた。私が何も気付いてないみたいにね。私たちの人生の重要な出来事はみんな、輝く空の下で起きてる」カタリナはため息をつく。「あの日常が恋しい」態度は完全に落ち込んでしまった。
「私もだ」
「次に何が起きるのか思い出したくない……」カタリナは力なく、ぼんやりとそう口にする。「また星が見たい」
彼女はカーテンを見つめる。開けずとも今が夜だとは知っていた。切望が彼女を引っ張る。野原の上に座りたい。実際に星を見たい。それこそ、彼女が2月14日にまず奪われたものだった。死ぬときには星と一緒がいい。深く、苛立ったため息を漏らす。一瞬止まってから、首を横に振る。
木の床がカタリナの足元できしむ。彼女が寝室のドアを開けるのを、カルは見つめる。世界は耳をつんざくような静寂に包まれている。彼は立ち上がる。何かが彼を引っ張る。まるで彼女が糸を引いているかのように。家全体が板で覆われている。暗いが、それでも廊下のカタリナの場所は判断できる。その手は、玄関の扉に触れていた。彼女はまだ、自分がそうしたいのか迷っていた。
涙が彼女の顔を流れる。心臓が跳ね、きっと彼にも聞こえていると考えた。星を見なければならない。扉を開ける直前、彼が手首を掴み、彼女を振り向かせる。彼女の顔は、怒りと、空虚と、絶望に歪んでいた。
「もうこんな風に生きたくない!」彼女は腕を振り払って叫ぶ。
彼女は歯をむき出し、眉をしかめながらも、優しいまなざしをしていた。彼の言葉は喉に突っかかり、滞留する。それを出すこと叶わず、ただ首を振って彼女へと手を伸ばす。カタリナは素早くそれを払い除ける。銀色の金属のノブをひねり、静かな、暗い夜へと身をさらす。2人とも、外が前はどんな感じだったか忘れかけていた。彼は扉を閉じようと、彼女と一緒にいようとする。言うべきことが思いついていれば、間違いなく言っていた。
扉が叩きつけるように閉じられ、彼女の視界を赤が満たす。筋肉を張り詰めさせ、拳を握り締める。彼は彼女と扉の間に無理やり入り込もうとする。それを彼女は横に押し出し、床に倒す。それでも、カルはドアノブを掴み、決して離さない。それこそが彼らの小さく、繊細で、くしゃくしゃな現状を守る最後の手段であり、それが崩れてしまえば彼は無限の苦しみに落とされることだろう。彼女は彼の手を引っ張り、ゆっくりと力ずくでドアノブから指を剥がしていく。彼はもう一方の手で掴み直し、彼女は剥がし続ける。
「もう一回だけ星を見れる…… また見れたらきっと幸せ」
「違う」彼は首を横に振る。「行けないんだ……」
彼女は首を振り、彼の手を放す。彼は起き上がり、ドアノブを握りしめるのを止める。が、それでも優しく掴んではいる。彼女の顔は落ち込み、身体は浅い静穏にリラックスする。激しさの途切れたサイクルに気付き、彼は闘争的態度を捨てる。彼女は、疲れ切った後はいつもすぐに落ち着きを取り戻す。
「愛してる。そのことは忘れないで」彼女はそう言うと、気付く暇を与えずにカルの手を引き剥がし、扉を開け、小さな隙間から身を外に滑り出す。前庭へと駆け、縁石を越え、通りへと入り込む。髪をなでる風を楽しむ。痛みは感じず、足元の尖って壊れたアスファルトの感覚を味わう。監禁から逃れたような解放感があった。頭上の紺碧の空には、見たことがないほどの眩い光が点々としている。
考えるより先に、彼は本能的に床から身を起してベランダへと駆ける。目を見開き、突然足を止める。ようやく心が身体に追いつく。彼女から目を離せない。
彼女の青白い肌が、垂れ下がり、にじみ出ていた。よじれ、ねじれ、ワックスのような物体へと変わる。腕や脚は内側へと溶けていき、自由な方向へと動き続ける。目は滴り、消え去る。笑顔は消えているのに、それでも愉しみを湛えている。その身体は、彼に輝く純粋な海を思い出させる。カタリナが振り向くのを見て、彼は青ざめる。それは押し潰され、自分の肉を叩きつける。その身体はもはや彼女のものではなく、もはや彼が覚えているものではない。それはもはや、彼女ではない。それは彼が恋に落ちた人ではない。吐き気のする、醜悪なモノだった。
艶めく、溶けた腕を彼に伸ばす。彼は一瞬の硬直の後、慌てて向きを変えて屋内に駆け込む。扉を力任せに閉めて鍵をかける。ダークウッドの床に滑り転がり、彼女が扉の向こうでドスドスと音を立てる中、ただすすり泣く。その肉はベチャベチャとベランダを打ち付け、声がゴボゴボという音になってしまったのを生々しく伝える。
「今日はいい夜よ。星がとってもきれい」
この惨虐たる月
それが扉に近付くのが聞こえる。彼女の声で、ドンドンという、懇願するような、奇妙で病的な拍動。
「あなた、星を見に行きましょ。今夜はとっても明るくてきれいよ!」
従うわけにはいかない。どうか放っておいてくれと彼は願う。左手を顔に当てて、目に涙を浮かべる。結婚指輪を弄り、身を貫くような冷気の中で、金属の温かみを感じる。これを指から外す勇気はなかった。
彼女のことを考えようとするたびに、あの変貌が思い浮かぶ。外から聞こえるベチャベチャという音が、それを思い出させる。無視しようとするたびに、打ち付ける音は大きくなる。理不尽だ。何もかも理不尽だ。彼を支えていた最後のものも奪い取られてしまった。自分はどうすべきか、ヒントを探す。心臓と肺が痛む。
「お願い、空はとっても晴れてる! また一緒になれるのよ」それは彼女の声のように聞こえるが、歪んでいる。間違っている。より深く、何か詰まったような。
「私に星は見れない」
「お願い? 外は本当にいいわ!」病的なまでに甘美な声。
星を見ようと懇願され続けるたびに、彼はすすり泣き、苦しむ。彼女の声は解放的に聞こえる。幸せで、愛がこもって、思いやりに満ちて聞こえる。胸に重くのしかかり、溺れてしまいそうだ。彼を蝕み、自分の奥へと引きずり込む。どれだけ押し込もうとしても、頭の中で鳴り続ける。彼女を守るためにもっと頑張れたらと願った。もっと何かできたはずだった。
何時間も、黙って横たわる。もう一度言葉を返す勇気はない。深い後悔が彼を飲み込む。それは彼を掴み、窒息させ、銃を突きつける。彼女の声は、彼を更に奥へと引きずり込むだけだった。自分に抗う。自分に言い聞かせ続ける。あれは彼女ではないと。彼女であるはずがないと。断じて認めるわけにいかない真実に抗う。
腫れぼったい目を開くのが辛い。ひどく疲れていた。やがて、扉に背を預ける。それは不可能な仕業に思えたが、他にすべきこともそうなかった。どうしたらよいものか、途方に暮れていた。思いつくことはあれど、どれ一つ正当化はできない。妻を殺す気はない。あまりにも間違っている。そもそも殺せるのかどうかもわからない。頭を垂れる。次にすべきことの指針でもないものかと祈る。立ち往生していた。
割れた磁器が床に散らばっている。靴はそこら中に放り出され、ジャケットもあちこちに四散している。意味もなく床を眺めると、金色の輝きが目に留まる。よく見てみると、扉での格闘中に彼女の指輪が外れていたものと気付いた。彼は目を見開き、愕然とする。全身を衝撃波が通り抜ける。それは現実でないようで、彼自身も現実でないようだった。叩きつける音は、高温の耳鳴りと心臓の鼓動にかき消される。心臓を除いて、全てが死んだように静まり返る。外から聞こえる金切り声すら、心臓の音を遮ることはない。
彼は震える、骨ばった手をそこに伸ばす。触れると、金属はまだわずかに温かい。指の中でそれを回し、滑り落ちてしまうのを恐れて緩く握る。実に滑らかで、スターサファイアさえも絹のようだ。内側に刻み込まれた文字を感じる。それを読んでいると、落ち着きがやってきて彼を現実に引き戻す。
「何があろうと、2人は一緒だ……」彼は囁く。
瞬きして、指輪を見つめる。これは明白な指針だ。最初は拒絶したが、この選択は歓迎すべきものだ。思考に明晰さが宿る。彼女のいない人生に意味など見えなかった。死にたいと願うほどに、そんなものはあり得なかった。それは世界の終わりを彼女なしで見るということだ。彼女を諦めたくなどなかった。彼には彼女が必要で、彼女には彼が必要だ。全てが終わったなどと考えたくはない。だがこれは諦念ではない。静かな要求だ。こうして、ことは終わるのだ。
深く息を呑み、激しい鼓動と襲い来る不安感を抱く。汗が顔を流れ落ち、全身が震える。ゆっくりと立ち上がり、顔を扉に向ける。扉のガラス越しに彼女の蝋状の顔を見た瞬間、叩く音が止まる。彼女は、彼を感じて、見て、理解できた。彼は息をこらえ、暗闇の中でも彼女が見えることに感謝する。彼の蝋質の手が冷たいドアノブを握る。カチッという音とともに、鍵が開く。一瞬動きを止める。まだ自分の決意が、思っていたほど強いものか迷っている。そうしながらも、彼は暗い外へと扉を開ける。
「あなたが星を見たいことはわかってた」愉快な声で彼女はそう言い、手を差し出す。
「お前と一緒なら、もちろん」
彼はその手を取り、彼女に導かれるまま、快晴の夜空、月光の下へと踏み出す。全く、全く違ってはいたが、それでもその手は彼女のように感じる。2人は混ざり合い、痛みも悔恨も感じない。微笑んで彼女を抱きしめると、ゆっくりと目を閉じる。とうとうカタリナと一つになれた。2人が一つになる前に、2個の指輪を落とす。それは2つのカチャリという金属音を立て、地面に落ちる。
四肢は、身体は、溶け合って一つになる。これが2人の運命だった。2人はお互いに抱き合い、安心を、自由を感じる。2人を傷つけるものは何もない。2人を引き裂けるものは何もない。お互いの思考を聞き取れ、お互いの感情を感じられる。2人はようやく、残された星の輝きを再び見る。
「何があろうと」2人の声が、どちらも気付くことなく混ざり合う。分かち合う安心感の中で、ただその場にいる。
私たちは結びつく
2人は一緒だ。