@import url('https://fonts.googleapis.com/css2?family=Nixie+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
:root {
--body-bg: 225, 225, 225;
--content-bg: var(--global-white-color);
--bg-opacity: 0.9;
--extra-bg-1: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-bg-2: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-bg-3: url(https://imagebed.pro/images/liurd/skyline.svg);
--extra-opacity-1: 0.15;
--extra-opacity-2: 0.05;
--extra-opacity-3: 0.05;
--topbar-hover-bg: var(--dark-ui-bg), 0.2;
--topbar-hover-txt: var(--light-ui-txt);
--user-drop-txt: var(--dark-ui-txt);
--bottombar-bg: var(--dark-ui-bg);
--bottombar-txt: var(--dark-ui-txt);
--header-title: "Backrooms";
--banner-title: "BACKROOMS";
--banner-subtitle: "当色彩褪去的时候";
--header-height: 3rem;
--topbar-height: 2.5rem;
--dropdown-height: var(--topbar-height);
--banner-height: 25rem;
--header-ui-size: 3rem;
--header-title-size: 1.8rem;
--topbar-size: clamp(0.8rem, calc(0.4rem + 0.8vw), 1.2rem);
--banner-title-size: clamp(2rem, calc(2rem + 3.5vw), 6rem);
--banner-subtitle-size: 1rem;
--banner-font: "Nixie One", "Noto Serif SC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, serif;
--header-font: var(--banner-font);
--title-font: "Outfit", "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif;
--body-font: "Atkinson Hyperlegible", "Noto Sans SC", "Noto Sans TC", Arimo, Verdana, Geneva, sans-serif;
--ui-font: "Outfit", "Noto Sans SC", "Noto Sans TC", Arimo, Verdana, Geneva, sans-serif;
}
#extra-div-1 {
position: fixed;
width: 100%;
height: 25vh;
bottom: 0;
left: 0;
z-index: -1;
background-image: var(--extra-bg-1);
background-size: 20rem;
background-repeat: repeat-x;
background-position: center;
opacity: var(--extra-opacity-1);
}
#extra-div-2 {
position: fixed;
width: 100%;
height: 50vh;
bottom: 0;
left: 0;
z-index: -2;
background-image: var(--extra-bg-2);
background-size: 40rem;
background-repeat: repeat-x;
background-position: center;
opacity: var(--extra-opacity-2);
}
#extra-div-3 {
position: fixed;
width: 100%;
height: 100vh;
bottom: 0;
left: 0;
z-index: -3;
background-image: var(--extra-bg-3);
background-size: contain;
background-repeat: repeat-x;
background-position: bottom;
opacity: var(--extra-opacity-3);
}
#container {
display: grid;
grid-template-columns: minmax(var(--sidebar-width), 1fr)auto 1fr;
grid-template-rows: auto auto auto auto;
}
#extrac-div-1 {
grid-column: 2 / 3;
grid-row: 1 / 2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-family: var(--banner-font);
font-weight: 200;
width: 100%;
height: var(--banner-height);
color: rgb(var(--header-txt));
order: -1;
}
#extrac-div-1::before {
content: var(--banner-title);
font-size: var(--banner-title-size);
}
#extrac-div-1::after {
content: var(--banner-subtitle);
font-size: var(--banner-subtitle-size);
}
#header {
grid-column: 1 / 2;
grid-row: 1 / 3;
min-width: var(--sidebar-width);
width: 100%;
height: fit-content;
grid-template-columns: var(--header-ui-size) 1fr auto auto;
grid-template-rows: var(--header-ui-size) calc(var(--banner-height) - var(--header-ui-size)) auto;
top: calc(0px - var(--banner-height));
order: -2;
}
#search-top-box {
grid-column: 3 / 4;
position: fixed;
right: var(--header-ui-size);
backdrop-filter: blur(1rem);
}
#login-status {
grid-column: 4 / 5;
position: fixed;
right: 0;
backdrop-filter: blur(1rem);
}
#header h1 {
grid-column: 2 / 3;
grid-row: 1 / 2;
height: var(--header-height);
position: static;
}
#header h1 a {
justify-content: flex-start;
padding: 0;
padding-left: 0.5rem;
transition: padding var(--global-duration);
}
#header h1 a:is(:hover, :focus) {
padding-left: 1rem;
transition: padding var(--global-hover-duration);
}
#header h2 {
display: none;
}
#header-extra-div-1 {
display: none;
}
#top-bar {
grid-column: 1 / 5;
grid-row: 3 / 4;
height: auto;
}
#top-bar > div > ul {
flex-direction: column;
height: auto;
margin-right: 0;
}
#top-bar > div > ul > li {
flex-basis: unset;
height: var(--topbar-height);
}
#top-bar > div > ul > li > a {
justify-content: flex-end;
padding: 0 1rem;
}
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
top: 0;
left: 100%;
width: 24em;
max-width: max-content;
min-width: auto;
flex-direction: row;
flex-wrap: wrap;
}
#top-bar > div > ul > li > ul > li {
width: 10em;
flex-grow: 1;
}
#top-bar > div > ul > :is(li, li:hover, li:focus, li.sfhover, li:focus-within) > ul > li > a {
box-sizing: border-box;
}
#content-wrap {
display: contents;
}
#side-bar {
max-height: unset;
overflow-y: auto;
border: unset;
box-shadow: 0 0 1.5rem -1rem rgb(var(--global-dark-color));
}
#side-bar::after {
backdrop-filter: blur(1rem);
}
#main-content {
grid-column: 2 / 3;
grid-row: 2 / 3;
min-height: 100vh;
box-sizing: border-box;
margin: 0 auto 15vh;
padding: 1.5rem;
box-shadow: 0 0 2.5rem -1rem rgb(var(--global-dark-color));
position: relative;
background: rgba(var(--content-bg), var(--bg-opacity));
}
#main-content::after {
content: "你曾经来过这里.";
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 10vh;
color: rgb(var(--header-txt));
font-family: var(--banner-font);
font-weight: 200;
}
#page-title {
padding: 0;
}
:is(blockquote, .blockquote, div.blockquote, [class*=blockquote]) {
padding: 0.5rem 1rem;
border-width: 0 0 0 0.3rem;
background: rgba(var(--light-block-bg), 0.4);
}
#page-options-container {
font-family: var(--ui-font);
}
#footer {
grid-column: 1 / 4;
grid-row: 3 / 4;
box-sizing: border-box;
justify-content: flex-end;
margin-top: 0.5rem;
border: unset;
}
#license-area {
grid-column: 1 / 4;
grid-row: 4 / 5;
padding: 0.5rem;
justify-content: flex-end;
}
#license-area a {
color: rgb(var(--global-pale-color));
}
@media only screen and (max-width: 1024px) {
#container-wrap {
perspective-origin: 49.5% 5rem;
}
#container {
display: flex;
}
#header {
min-width: var(--sidebar-width);
grid-template-columns: var(--header-ui-size) 1fr auto auto;
grid-template-rows: var(--header-ui-size) auto auto;
top: 0;
width: initial;
position: static;
}
#content-wrap {
display: block;
margin: 0;
}
#login-status {
position: relative;
backdrop-filter: unset;
}
#search-top-box {
position: static;
backdrop-filter: unset;
}
#login-status #account-options {
left: initial;
right: 0;
}
#top-bar > div > ul {
flex-direction: row;
margin-right: auto;
}
#top-bar > div > ul > li {
flex-basis: min-content;
}
#top-bar > div > ul > li > a {
justify-content: center;
padding: 0;
}
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
top: 100%;
left: 0;
width: auto;
flex-direction: column;
}
#top-bar > div > ul > li:last-of-type > ul {
left: initial;
right: 0;
}
#top-bar > div > ul > li > ul > li {
width: 100%;
flex-grow: 1;
}
}
@media only screen and (max-width: 768px) {
#top-bar > div > ul > :is(li, li:last-of-type) > ul {
flex-direction: row;
}
#top-bar > div > ul > li > ul > li {
width: 50%;
}
}
: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 }
回到圣亚伯拉罕的第二天,仍然上课困大觉。
量子计算没听一节课,后室历史一节课没听,环境辨析课一节没听。
至于艺术课嘛……良心发现开始用平板抄笔记,结果把达芬奇码成了“大愤青”。
然后,狄大人就愤怒地把我的脸掐成了青色。
生物课不小心炫了两口试剂,终于被咸到强制开机,然后生物教室就断电了。
最后嘛……
后室意志不可违,继续睡。
晚自习终于是睡饱——或者说,睡饿了。
我蠕动到储物柜边刨食,结果刨出来一张自己以前做的达芬奇生平手抄报。于是,我怀念了一会儿达芬奇不是大愤青的日子。
至于食物,我翻出来一些龙肉。只能凑合了一顿糟糕程度和语文听写成绩差不多的晚餐。
空闲月前夕的特供版晚自习依旧实体横行。
好在,讲台上没刷新狄大人。
这也导致:缺乏空中交通管制的纸团通信网络陷入了灾难性的拥堵——千树万树纸花开。
到现在为止,已经有三对纸团在我的课桌上空发生对撞然后迫降到我的水杯里了。
这种情况,写作业是没心思了,遂发呆两节课。期间,多次试图挑战量子计算大题,被电子云狠狠拷打。
我发誓,再写量子计算我就是猎犬,谁家题目留的空没题干一半多啊。
不过,有几件事倒是还能让人心情好那么一些(maybe …?)
第二节课的时候,实验楼那边传来一声巨响。
紧接着,杰尔顿教授跑过来跟我们说:CB博士的实验室又炸了,叫我们关好窗户防止吸入刺激性气体。
害,虽然闭气能力已经练得差不多了,但不妨碍杰师傅在咱这里刷好感。小杰早日脱单口牙!
杰尔顿走了之后,班上的流言制造者们就开始高谈阔论。
谈论很嘈杂,至于里面印象最深的嘛……
有个带了手机的同学在论坛上翻到一张照片,说是刚刚值班人员拍下来的。照片上是个跑进实验楼的粉色双马尾少女。
有人说这是那个名叫宅的魔法少女,还有人说是她搞炸了实验室。
我认为她更像是艺术社团里的那些阴暗夜行生物,而不是什么马猴烧酒。
最后一节课突发奇想:既然魔法少女的标志性特征是各种颜色的头发,那么酒红色头发的CB博士是不是魔法少女呢?
然后,我就把这个设想告诉了Ni。
Ni对这个设想的意见是:哪有魔法少女这么喜欢拖堂的,没有时间观念,不怕变身突然时间到了?
…虽然感到一阵无力感,但他的话仍然是没法反驳的理由。
我蛮好奇CB本人听了这话做何感想。
魔法少女也有黑发,搞不好Ni才是魔法少女。
接下来,我和Ni一起回寝室的时候碰见了Annie姐,她全身是灰,而且看起来很着急。
她一见到Ni拉着Ni去一边问了个问题,之后头也不回地跑去了实验楼。
我很诧异,连忙问Ni刚刚发生了什么。
Ni说,Annie问他有什么低攻击性的实体可以对快枪手产生干扰,他说了几个,Annie在道谢后就跑开了。
得,看起来CB又在整活。
前几个月刚听紫霜社的人说她在研究枪械,现在看来估计是某种专门打AS双星来驱使两人工作的催命枪,要么就是某种会自动瞄准实验室汽油桶上的蚊子的枪。
Annie身上的灰估计就是这么来的。
后来,我在寝室储物柜前成功生产出了大量厨余垃圾,要不是Ni给了我几颗山楂,今天晚上我估计又要撑的睡不着。
呼……明天就是空闲月了,抽空去看一场球赛吧。当然,去看看CB博士实验室的遗址也不错(笑)
晚安。
(第二天)
昨晚,做了两个很诡异的梦。
第一个是梦见有人在宿舍里把我肢解了。
第二个是梦见有人在把我的大腿接回我的盆骨上,还摸了几下我的鼻子。
两个梦的“执行者”动作都非常干脆利落,行云流水,不过第二个执行者比较话痨,一直在碎碎念。
至于他说了什么,我只听清了最后一句:“cosplay成阴暗逼去治鼻塞真是个技术活。”
……合着阴暗逼是夜行生物成了全后室的共识了。
以及,托他的福,我的鼻塞居然还真好了。
一一时隔多月又一次差点被食堂后厨熏死。
不过,休假类活动第一天的食堂精品餐从不让人失望。
今天盘子里留给没有早起的学生的是添加了抢饭者头发的新鲜后室空气。
哦对了,还有医务室联名产品:创可贴馅的后室空气。
我照惯例用油炸肢团打发了肚子——我在期望什么?
啃肢团的时候,我把梦讲给了Ni。
没想到,他说他昨天晚上也作了个类似的梦,也梦见有人把他肢解了,场景也是在宿舍,甚至也朦朦胧胧听到了cosplay这个词。
好好好,梦串一块了?
可是杰师傅告诉过我们一般只有两个人有肢体接触的时候才会出现这种状况。
难不成…………咱昨天梦游到Ni床上去了?!(犯傻)
由于CB博士在炸实验室的时候顺手烧掉了操场上的设施的电线,橄榄球赛取消了。
唉,非常坏的消息,使我新买的百合小说开封。
球赛是看不成了,我只好回宿舍。
回宿舍的路上被CB截胡了——不过好在她没过问我的后室历史成绩,而是直接用75的学分拐走了Ni。
但有意思的是,CB今天没穿她的经典款实验服,而是穿了一件西装——没有领口但是自带领带的西装,看上去像一件不紧身的紧身衣(不是小Q你这是什么神秘描述)。
老狐狸看起来又有什么新计划了。搞不好是圣秩又复活了——如果真是这样,希望Ni能多替CB贪一些特种奖学金过来。
因为——
我又把他的洗发水用完了。
唉……小Q啊小Q!
你怎么就被被一群牵手手的美少女勾了魂!
你居然在宿舍里看了整整四个半小时的百合小说!
天理沦丧道德洗地,你的良心呢?你的斗志呢?!
你打扫寝室储物间围剿有害细菌的崇高使命呢?!
你怎可如此沉沦下去?
快去打扫储物间救赎自己啊我去!!!
(十分钟后)
天可怜见小Q,扫储物间的时候居然找到了丢了好久的百合小绘本。
我亲爱的凌木酱和欣雅酱嘻嘻嘻………
小Q啊小Q,你怎甘如此堕落!
你又花了两小时去看美少女贴来贴去,两个小时!
现在已经十二点了!
不是打死都不会再看一上午的百合了吗?
因为沉迷百合而忘写作业被狄大人罚扫一个月厕所的耻辱你就这么忘了?!
再看下去就要变成阴郁Be美学百合控了啊混蛋!甚至连饭都没吃!
你就要这么迷失在美色中活活饿死自己吗小Q?
刚写完上面这行字,被打扮成厨娘的Ni就带着一个馅饼回来了,说是帮璀磷社校对GL文稿换来的。
至于小说……
后室意志不可违,继续看。
午觉又一次把自己睡成了悲尸,我发出一阵非人类的哈欠声后,突然意识到眼前一片模糊。
唉……依旧到处阴暗扭曲爬行找眼镜,依旧拉着Ni拆床板找眼镜,依旧发现眼镜在自己脱下的外套里,依旧装床板时被床板迎头痛击,手指赤红。
智力比视力还低说是。
洗了个澡,我决定去教堂看看星璇大人。
去教堂的路上碰见了正在测试无人机性能的柠辰姐,她正把自己挂在无人机上以测试无人机的升力。
不过嘛,她跟咱唠嗑的时候不小心多拍了一下遥控手柄,那台无人机马上展现出了它高超的投弹技巧,不偏不倚的将柠辰姐扔到了Ni身上。
“天上怎么掉下个柠妹妹……”Ni有气无力的说道。
然后,柠辰和我在都对方的脸上看到了吃了柠檬似的的脸色。
告别柠妹妹之后,在教堂的东侧找到了星璇大人,她正在读一本封面上连字都没有的旧书。
星璇问我们,有没有见到Annie或者Sherry,她有很重要的事要找她们。
我说,她们应该在帮CB修实验室,但是Ni说他没在实验室看见她俩。
星璇便向CB打了个电话,CB博士很简短的说了句“她们在忙”就挂掉了,电话那头还传来了各种东西掉落的声音。
得,放假还得出任务,为AS双星的默哀两秒。
东聊西聊,星璇大人向我们提起了那本旧书。她说这是本讲魔法少女的古书。
上面全是生硬而充满歧义的拉丁文,也没有插图,像本伪造出来的书。但是它又确确实实在level906里放了三百多年。
我好奇这本看上去既不魔法也不少女的书讲了什么。星璇说,这书的内容很乱,塞满了各种指代不明的长句,长句间还经常穿插着诸如“让没出现的死去”,“处决歌唱”这种意义不明的短句。
她目前也只看出来,书里讲了一个人们用魔法自相残杀的故事。但是这个故事只写了个开头,后面的章节就又变成了呓语。
然后,星璇眼神突然一凝,问我们:“Q、Ni,大学里最近流传着一个很热门的话题,是一个关于魔法少女的预言,你们听说了吗?”
咱不知道,咱不敢说。
怎么我的信息面这么狭窄啊!(Ni:让你天天看百合小说,不去调查社会)
Ni倒是知道。
他说,这个预言是关于五个魔法少女的。
她们会从不同的地方获取属于自己的力量,然后展开角逐,这些力量会使一个叫做魔力值的东西产生变化。每隔一段时间,魔力值会被结算。魔力值最低的那位魔法少女就会在角逐中战败,她将出局并受到惩罚。经过四轮淘汰后,余下的那一位魔法少女就会获胜并得到奖励。
至于魔力值最高者会得到什么奖赏,以及所谓的惩罚是什么……
Ni说,他也不知道。
星璇点点头:“是这样没错。但是,我感觉这上面的内容和我研究的那些古书有很多相似的地方……古书上那些魔法少女最终的结局可不太好。”
星璇大人依旧慈悲。
Ni又说:“那你是觉得,古书上记载的那种竞争现在正在发生?”
星璇再次点头:“没错,虽然现在不知道五位魔法少女是不是都已经选出,但是这本书的出现,或许就代表着角逐已经开始。”
“但是,我并不想她们这样斗争个你死我活……还有,看到这本书后,我总觉得,角逐还有其他目的。或许,有个上层叙事者正在看着她们呢……”
“上层叙事?”我成功又被星璇大人搞糊涂了。
“目前没有关于奖励和惩罚的执行者的任何信息。除了一个——或者一群上层叙事者之外,我想不到其他答案。”星璇托着下巴说道。
Ni点点头,若有所思。
我依旧一句没听懂。
还有,最近的事情怎么都和魔法少女有关啊?
但我最后还是没想出个所以然,就和星璇大人道别了。
走之前,我听到她的一句自言自语:“这一次,或许不能让她们重蹈覆辙……我得做点什么。”
趴在窗檐发呆的时候,我突然看见有东西凭空出现在了半空中,然后摔进了图书馆的三楼。
那东西黑乎乎的,像是一个人影。
Ni说,他也看见了,应该不是眼花。
那东西或许是某种实体,还是切错地方的速切玩家?
不管怎样,我决定拉着Ni去瞟几眼——反正等下也要去图书馆楼下买关东煮吃。
到了地方之后,我傻眼了。
大致描述一下刚才发生了什么吧:上了图书馆三楼之后,我就看见了散落一地的人类肢体。
奇怪的是,周围没有血迹,也没有血腥味,但是有些肢体的表面被切割得像鞋纹一般。
各种开本的书页散落在肢体边上,天女散花,地上还有几颗正在滚动的头颅。
然后,一个人影拖着一具缺了手臂的尸体跑向了我们,接着蹲在我身边,用刀从我们身后挑过来一条手臂,以快出残影的手速将手臂缝了回去。
大约三秒钟后,那具尸体一下子直起身来,撞到了他的头。随后我们就看着他以惊人的手速将一地的残肢变回了会撞他脑袋的同学。
我当时压根没反应过来是什么情况。
直到,那个人口袋里的手机响了一下。
他摸出来,对着屏幕嘀咕了几句。然后,我就听到了Ni的声音:“甩枪手老师?”
他转过身,端详我俩了几秒:“窗小镍148?”这是Ni的网名。
我的世界观瞬间又崩塌了。
行吧,Ni,你赢了。
你不仅与各种颠佬团体的成员是网友,和为各种实体写CP文的太太们认识,甚至还能和魔法少仆聊上。
——甚至他的服侍对象还是不良魔法少女,甚至还是两个不良魔法少女。
行,圣亚伯拉罕魅魔就是你,你的舍友Q就只有羡慕的份。
我对Ni的网络社交圈的了解有哪怕百分之一吗?
鬼才能想到Ni会跑到有魔法少女出没的论坛去晃荡,然后因为讲各种“魔法少女当了皇帝会变成是王法少女吗”之类的笑话与一个天天在论坛上找同人文的魔法少女之仆成了好友。
然后导致我们在见证了一场酣畅淋漓的尸块拼和运动后被魔法少仆请了一顿关东煮。
事已至此,吃关东煮吧(嚼嚼嚼)。
有幸见到了魔法少仆——现在应该叫铥林老师
——那坐在咱位子边上的服侍对象:不良魔法少女兰欣&庆。
两位魔法少女正把头枕在自己的胳膊上,另一只胳膊搂住对方肩,额头贴着额头地腻在一起睡觉,时不时发出些咂嘴声。
铥林老师一边喝关东煮的汤一边向我们讲述兰欣和庆的光辉事迹。
说实话,铥林的语气真的好像那种轻百合文里永远在帮姐姐们兜底的无奈欧豆豆诶!
这搞得我都想养一只帮我写量子计算题了(幻想ing)。
铥林讲了一会儿,就跑去拿了一本科普书。一边看,一边等他的主人起来。
这时我突然意识到一件事:怎么到现在那些图书管理员还没叫人上来?
然后,铥林就表示:由于兰欣其实时不时就会来圣亚伯拉罕大学,他已经缝过那些管理员们七八回了,不少同学也被缝了三四回了。
由于他缝人的时候会顺手把尸体的病治好,再加上兰欣切人并不会有痛感,所以他们便选择了无视。
说罢,他便看了看我。
得,Q的梦永无破晓。