: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 }
/*
Ethereality Theme
[2023 Wikidot Theme]
By Eltrac
*/
:root {
/* 基本信息 */
--header-title: "Gardenrooms";
--header-subtitle: "卧于自然怀抱中的宁静与平和";
--logo-img: url('');
/* 设置狐步舞/sigma-9 */
--accent: 108, 125, 70;
--header-txt-color: rgb(var(--accent));
--link-txt-color: rgb(var(--accent));
--page-font-size: 0.832rem;
/* 排版工具组 */
--lh-white-bg: 245,245,245;
--lh-dark-bg: var(--accent);
--lh-highlighter: var(--accent);
--lh-border-color: var(--accent);
--lh-wiki-note-color: var(--accent);
/* 适配部分黑标属性 */
--white-monochrome: 250,250,250;
--dark-gray-monochrome: var(--accent);
--black-monochrome: 60,60,60;
/* 飘渺愿景自定义属性 */
--header-bg-img: url('http://koalarooms.wdfiles.com/local--files/theme%3Aethereality/369hallway_%E5%89%AF%E6%9C%AC.jpg');
--header-height: 320px;
--body-bg-color: var(--white-monochrome);
}
@media screen and (min-width: 768px) {
:root {
--page-font-size: 1rem;
}
}
/* 修改版头 */
body {
background-image: none;
background-color: rgb(var(--body-bg-color))
}
div#header {
height: var(--header-height);
}
#extra-div-6 {
/* 版头图片 */
position: absolute;
top: 0;
left: 0;
right: 0;
background-image: var(--header-bg-img);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
z-index: -1;
height: calc(var(--header-height)/10*9)
}
#extra-div-6::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 100%;
background-image: linear-gradient(to bottom, transparent 20%, rgb(var(--body-bg-color)))
}
/* 版头文字 */
#header h2,
#header h2::before {
text-shadow: 0.05em 0.05em 0.01em #666;
color: #eee
}
#header h1 a,
#header h1 a::before {
text-shadow: 0.05em 0.05em 0.01em rgba(var(--accent), 0.25)
}
#header h1 {
padding-top: calc(var(--header-height)/9);
padding-bottom: 1rem
}
/* 顶栏 */
#header #top-bar {
position: absolute;
top: height: calc(var(--header-height)/10*9);
height: height: calc(var(--header-height)/10);
display: block;
left: 0
}
@media not all and (max-width: 767px) {
#header #top-bar { max-width: 708px }
}
#header #top-bar .top-bar > ul,
#header #top-bar .mobile-top-bar > ul {
width: 100%;
display: flex;
justify-content: space-between
}
@media screen and (max-width: 767px) {
#header #top-bar .top-bar > ul,
#header #top-bar .mobile-top-bar > ul {
justify-content: center
}
}
#header #top-bar ul {
background: none;
border-radius: 0
}
#header #top-bar a {
color: rgb(var(--accent));
background: transparent;
font-size: 120%
}
#header #top-bar a:not(ul li ul li a) {
padding-bottom: 1rem
}
#header #top-bar ul li ul {
box-shadow: none;
border: 1px solid #ddd;
background-color: rgba(245,245,245,0.75);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
}
#header #top-bar ul li ul li a {
line-height: 200%;
transition: background 0.3s
}
#header #top-bar ul li ul li a:hover {
color: #eee !important;
line-height: 200%;
text-indent: 0;
background-color: rgba(var(--accent), 0.75)
}
#top-bar ul li.sfhover a,
#top-bar ul li:hover a,
#top-bar ul li a, #top-bar ul li {
border: none
}
#header #top-bar .open-menu a {
font-size: 30px!important;
padding: 0.25rem;
border-radius: 100%;
background: rgba(var(--accent), 0.65);
box-shadow: 0 0 0.1rem rgba(0,0,0,0.2);
color: #eee
}
#header #top-bar .open-menu a:hover { box-shadow: none }
#header #top-bar .mobile-top-bar {
position: static;
display: flex!important;
justify-content: center
}
/* 分割线 */
#page-content hr {
border-bottom: 3px dashed rgb(var(--accent));
margin: 1em 0;
background: none;
border-radius: 5px;
height: 0
}
/* 图片框 */
.scp-image-block .scp-image-caption,
.scp-image-block img {
margin: 0;
border: none;
background-color: transparent
}
.scp-image-block {
border: 2px solid #c6c6c6;
}
.scp-image-block.block-right { margin-right: 0 }
/* 页面标题 */
#page-title {
border: none;
position: relative;
font-size: 220%
}
#page-title::after {
content: '';
position: absolute;
bottom: -0.5rem;
left: calc(50% - 4rem);
height: 5px;
width: 8rem;
background-color: rgba(var(--accent), 0.8);
}
/* DIV 元素 */
.jotting {
padding: 0 1em;
margin: 1em 2em
}
#page-content .colored-div {
border-color: rgb(var(--accent));
background-color: rgba(var(--accent), 0.3)
}
.lightblock, .darkblock,
.styled-quote, .dark-styled-quote,
.candyblock, .borderblock {
padding: 0 1em;
margin: 0.5em 0.1em;
border-radius: 5px;
border: 1px solid transparent
}
.lightblock,
.styled-quote {
background-color: rgba(var(--accent), 0.1)
}
.darkblock,
.dark-styled-quote {
background-color: rgba(var(--accent), 0.75);
color: #eee
}
.styled-quote, .dark-styled-quote {
border-left: .5rem solid rgb(var(--accent))
}
.candyblock {
background: linear-gradient(45deg,rgba(var(--accent), 0.1) 25%,rgba(var(--accent), 0.3) 0,rgba(var(--accent), 0.3) 50%, rgba(var(--accent), 0.1) 0,rgba(var(--accent), 0.1) 75%,rgba(var(--accent), 0.3) 0);
background-size: 2em 2em;
}
.borderblock {
border: 1px solid #c6c6c6
}
/* 排版工具组 */
div.wiki-note::before { color: #eee }
.reportblock h1:first-child,
.reportblock-dark h1:first-child {
top: -1rem;
left: 0
}
.reportblock,
.reportblock-dark {
padding: 0.4rem 1.5rem;
padding-top: 0
}
.bettercollap .collapsible-block { border-radius: 3px }
#page-content .bettercollap .collapsible-block-link:hover,
#page-content .bettercollap .collapsible-block-link:hover a,
#page-content .bettercollap .collapsible-block-link a:hover,
#page-content .bettercollap .collapsible-block-link:hover a:hover {
color: #eee;
text-decoration: none
}
/* 插入图片 */
.styled-img img {
display: block;
margin: 0.5rem auto;
max-width: 75%;
border-radius: 5px
}
/* 页内标题(Headings) */
#page-content h1 {
position: relative;
width: fit-content
}
#page-content h1:not(.reportblock h1)::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0.5em;
width: 100%;
background-color: rgba(var(--accent), 0.5)
}
/* 其他页面元素 */
a.newpage { color: rgb(229,194,38) }
a.newpage:hover{ background-color: rgb(229,194,38) }
/* 页面选项 */
#page-options-bottom {
border-top: solid 1px rgba(213, 213, 213, 0.5);
margin-top: 0;
}
#page-options-bottom a { margin-top: 0 }
/* 页脚 */
#license-area {
background-image: linear-gradient(to bottom, rgb(var(--body-bg-color)), rgb(236, 238, 232));
border-top: 0;
margin-top: -1rem;
padding: 1rem 0
}
/* 脚注 */
.hovertip {
background: rgba(236,238,232, 0.75)!important;
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
min-width: 8rem
}
.hovertip .footnote .f-footer { display: none }
.hovertip .footnote .f-heading { font-size: 80% }
.hovertip .footnote .f-content { font-size: 110% }
div.footnotes-footer {
border-top: 1px solid #c6c6c6;
border-bottom: 1px solid #c6c6c6;
padding: 0.5rem 1rem;
padding-bottom: 1rem;
margin: 1rem 0
}
/* 侧边栏 */
#side-bar {
background: rgba(236,238,232, 0.9)
}
#side-bar:target { box-shadow: 0 0 4rem rgba(0,0,0,0.15) }
#side-bar .side-block {
border: none;
background: transparent
}
@media screen and (max-width: 767px) {
#side-bar:target .close-menu {
background: unset;
}
}
/* 分页 */
.yui-navset .yui-nav,
.yui-navset .yui-navset-top .yui-nav,
.yui-navset .yui-content,
.yui-navset .yui-navset-top .yui-content {
border-color: rgb(var(--accent));
}
.yui-navset .yui-nav a,
.yui-navset .yui-navset-top .yui-nav a {
color: rgb(var(--accent));
}
.yui-navset .yui-nav a:hover,
.yui-navset .yui-nav a:focus,
.yui-navset .yui-nav .selected,
.yui-navset .yui-navset-top .yui-nav .selected,
.yui-navset .yui-nav .selected a:focus,
.yui-navset .yui-nav .selected a:active {
background-color: rgb(var(--accent));
}
/* 生存难度组件 */
#page-content .sd-container {
--sd-border: 80,80,80;
--sd-bullets: 80,80,80;
--sd-image: 80,80,80;
--sd-symbol: 60,60,60;
--sd-text: 240,240,240
}
/* PLS */
#page-content .pls {
--dark-gray-monochrome: var(--accent);
--pale-gray-monochrome: 246,246,246;
font-size: 0.85rem
}
#page-content .pls-title,
#page-content .pls-list {
margin: 0!important
}
#page-content .pls-title { font-size: 1.5rem }
#page-content .pls-list { font-size: 1.1rem }
/* COCS / CECS */
.wrapper {
--cocs-dark: var(--accent);
--cocs-light: 240,240,240;
--cecs-dark: var(--accent);
--cecs-light: 240,240,240;
}
/* IETS */
.box {
margin: 0;
border: none;
padding: 0 0.5rem;
}
/* 评分模块 */
#main-content div.page-rate-widget-box,
#page-content .rate-box-with-credit-button {
border: none;
box-shadow: none;
background: transparent;
padding: 0
}
#main-content span.rate-points,
#main-content span.btn {
background: transparent!important;
}
#main-content .creditButtonStandalone p a {
background-color: rgb(var(--accent));
font-size: 1rem;
padding: 0.25rem;
}
/* 其他 */
#account-topbutton { border: none }
#login-status {
background: rgba(var(--body-bg-color),.4);
padding: 0.35rem 0.5rem;
border-radius: 2px;
}
#search-top-box-form {
margin-top: 0.25rem;
}
起初是光。这一点上,后室与前厅的创世应当是相同的,并且后室执行的更彻底。
Level 11没有夜晚。当然,除此之外,这里也没有黄昏,没有黎明。一个人在这里生活,从切入的那一天起,到他离开或死去,都不会再看见一次天色变暗。
很少有人谈论这件事。它太大了。大到像空气,你住在里面,就不再觉得需要提起。
白昼病
Beta基地的精神科有一本手写的接诊记录。黑色封皮,边角磨白了。记录的主人姓周,四十岁出头,在前厅是精神科医师。她的病人很少抱怨具体的症状。头痛,失眠,食欲减退,这些当然有。他们真正想说的是另一件事。他们说,不知道今天和昨天有什么区别。不知道这一周是怎么过去的。睡了,醒了,吃了东西,走了路,做了交易,和人说了话。所有这些事情之间没有接缝,连成一片。
周医生在自己的本子上给这种情况起了一个名字。她叫它白昼病。但她每次写下这三个字,都觉得自己写得很准。
接诊记录 摘录
“白昼病” —— 患者出现对时间感的缺失。
解决方案:人为制造节律。
这个名字没有任何医学依据。她只是觉得,这一切和Level 11永恒的白昼很有关系。人在这光里待久了,会失去重量。
她的一个病人,四十二岁。前厅的职业是长途货车司机。现在他住在家常酒店管辖的一间公寓里。每天做的事几乎相同。他告诉周医生,他在前厅开车的时候,最累的是眼睛。天刚黑的那一会儿最难熬。路灯还没亮透,天色还很暧昧,路面上的标线开始模糊。他把眼睛睁得很大,盯着前车的尾灯,跟着那一点红色往前走。等路灯全亮了,他整个人会松下来。
后来,他被抛入了另一个极端,不过一切却仍然很模糊。
他在出现那些症状后,试过很多办法。后来他想到躲避光。拉上窗帘,关掉灯,用枕头盖住脸。光从窗帘的纤维里透过来,从门缝下面钻进来,从下水管的接口处渗进来。那些光不刺眼,并且无比耐心。它等着你放弃。
他后来换了一种方式。每天下午出门。基地广播报出十六点整之后。他沿着同一条路线走五分钟。经过一排淡蓝色的住宅楼,经过一个永远没有水的喷泉,在街角的一排树下站一会儿。那排树并不是真的,叶子是塑料的,枝干是倒模的,底座是一个灌了水泥的铁桶。但他每天来看它。
只是因为它有影子,并且影子会动。
Level 11的风时大时小,来源不明,方向不定。风经过树的时候,塑料叶子会颤动。幅度很小,小到你不专门看就不会发现。但叶子一动,影子就动。轮廓的边缘微微发颤。
看影子的时候,我相信,在我没有看的时候,有些东西仍然在发生。时间仍然在发生。
塑料树的影子落在人行道上,轮廓模糊。日光灯从斜上方照下来,他看着那道影子,看很久。
周医生把这句话记在了本子上。她的字很小,但这一行写的比别的重。
西街
中心城区的最东面有一条街,没有名字。附近的居民叫它“西街”,尽管它在城市的东侧。
关于这个名字的由来,流传最久的一种说法是:它原本叫夕街。夕是傍晚,是光正在消退的那一小段时间。后来被叫白了,成了西街。叫白的原因不难理解:夕这个字在后室太重了。重到人们宁愿念错它。念错之后,它就可以只是一条街,不必是一个回不去的时间。
街长不到两百米。一端通着大路,另一端被一堵砖墙封死。墙砌得很粗糙,砖缝的灰浆溢出来,干成了不规则的疙瘩。墙下常年坐着人。不同的人,在每天差不多的时候,坐在差不多同一个位置。
晚市从七点开始。
七点也是人为的规定。Beta基地每天七点整拉响的那声电铃,信号源来自一台挂在广播站墙上的接收终端。终端连着后室家居生产厂设立的NTP服务器,服务器从Level 0的原子时基准读取秒长,换算成协调后室时,再减去本层级的偏移量,最后变成嘟的一声。整个过程大约需要七毫秒。
传到西街的时候,这七毫秒变成了将近两秒。声音已经走了一千二百米,穿过三栋楼,绕过一座废弃加油站,衰减得几乎听不见。但是,所有人都在听。
七点之前,西街是空的。七点一到,人从各个方向走过来。从主干道拐进来的人,从砖墙后面绕过来的人,从两侧居民楼的单元门里出来的人。这时候,前厅的天正在暗下去。他们在Level 11做不了这件事。但他们可以走到一条街的尽头,在一堵砖墙下面坐下来。这条街不通往任何地方,它只通往墙。墙下面光变薄了。薄到接近夕。
他们沿墙根坐下。面前铺一块布,或一件旧衣服。卖的东西不多。半瓶杏仁水,一截绳子,一本翻到脱胶的书,一件改过袖长的外套,几颗不知道还能不能吃的糖果。价格用压印币标。很少有人真的买。大多数人只是蹲下来,看一看,起身,往前走两步,再蹲下来。
墙根最深处坐着一个女人,五十岁上下。头发用蓝色皮筋扎着。她卖旧衣服。她的位置最靠近砖墙,那里光薄一些。她卖的东西永远是那几件。三件衬衫,两条裤子,一件蓝色毛衣。毛衣的肘部磨薄了,透光。七天里她只做成一笔生意。一个年轻男人买走一件衬衫。两枚压印币。她把衬衫叠好,递过去。两个人几乎没有说话。
她每天来。七点。
不来做什么呢?
她刚来这里的时候每天哭。哭累了就睡,睡醒了就哭。不知道过了多少天。
后来她走到这条街。那时还没有人。她坐了一会儿。第二天又来。第三天,有另一个人坐在对面。没有说话。第四天他又来了。第五天他开始卖东西,一瓶杏仁水。他不需要卖。他需要一件事做。
“当你有一个地方要去,而且你知道几点要去,你就又有了一天。”
她指了指脚下的地面。这个地方,这个时间。它们合在一起,就有了一个形状。她每天走到这里,坐下,把衣服摆出来。这些事情做完,今天过完了。可以回去睡觉了。
九点快到了。没有铃声通知九点,但所有人知道。
她把衣服收进布袋。衬衫,裤子,蓝色毛衣。一件一件,叠整齐。站起来,拍了拍裤子上的灰。日光灯照着她的后背。影子落在墙上,和砖墙的阴影叠在一起。
钟楼
首都中心有一座钟楼。一栋六层商业楼的顶楼。外墙上挂着一面钟。圆形,白底,黑针,罗马数字。
这面钟并不是原有的。钟面是后来加装的。加装者是一个前厅的钟表匠,姓顾。他切入后室时随身带着一盒工具:镊子,螺丝刀,放大镜,油石,游丝卡尺。他用这些工具拼出了一套机芯,装进一个废弃的钟壳里,然后说服楼里的住户允许他把钟挂上外墙。那是六年前。
机芯每天快四十秒。这是材料限制。后室能找到的金属材料和前厅有不小的差别,他最后选定了一种最接近的。快四十秒是他接受了的误差。
他每隔几天爬上去拨一次。打开玻璃罩,手指捏住分针,拨一格,停一下,看一看。再拨一格。这件事不产生任何实际效益。这面钟的存在本身也不是为了报时,但他一直在做。
拨快了,时间就过得太快。
他在前厅修钟的时候,最怕一种客人。那种人把表递过来,说这表是不是走得慢了。其实哪里是表慢了?是那个人自己觉得时间过得慢。等孩子放学,等妻子下班,等病床上的老人睡着。时间在他那里被拉长了,他就怪表。
到了这里之后,没有人再跟他说表慢了。所有人跟他说表快了。一天怎么又过去了,一周怎么又过去了。时间在逃跑。
他把分针拨到十二点,松开手。秒针继续走。咔。咔。咔。快了的时间被补回去了。钟面上,时针和分针重合在罗马数字十二的下方。
“时间不会因为我拨了针就真的回来。但对于那些看钟的人,他们不一定会这么想。”
“在这个地方,能修好的东西不多。这面钟是一件。”
他把玻璃罩合上。手指在罩面上抹了一下,擦掉一个指纹。
日光灯照在钟面上,玻璃反射出一小片白色的光。
厨房
第九区有一排住宅楼,住宅楼的底层有一间公用厨房,十几个灶台排成两排。
Level 11的公用厨房是聚居区形成后的产物。早期的流浪者各自在房间里用简易炉具加热食物,火灾频发。后来有人清空了一楼的几间仓库,接上煤气管道,规定了使用时段和清洁轮值。墙上贴着使用守则,第四条:使用完毕后请关闭阀门。第五条:请勿在灶台上留下食物残渣。第六条用红笔圈过:晚间时段每人限用三十分钟。
只是守则没有解释什么是晚间。
做饭的人用身体定义了这个词。晚上六点到八点,厨房最拥挤。十几个灶台同时开着火,火焰蓝幽幽的,舔着锅底。锅里的东西五花八门。有人煮面条,有人热杏仁水,有人在炖一锅看不出原料的汤。气味混在一起。热油的味道,煮面的味道,某种类似药材的苦味。油烟散不出去,在天花板下面积成薄薄的一层。
有一个老妇人,六十七岁。每天六点半准时出现。她的灶台是进门左手第二个。她用的是一口小铝锅,锅底已经烧黑了。她煮的东西永远是同一样:面片汤。面粉是从B.N.T.G的基地换的,她用杏仁水和面,擀成薄片,切成菱形。水烧开,面片下锅,加一点盐。没有油腥,甚至连菜也没有。但她煮得很认真。面片在沸水里翻滚,她用筷子一片一片拨开,不让它们粘在一起。
煮好了。她端着锅坐到角落的长凳上,一口一口吃。吃得很慢。一碗面片汤,她要吃二十分钟。
有人问过她为什么每天来煮面片。
水开需要时间。面片煮熟需要时间。吃完一碗需要时间。这些事情加起来,差不多三十分钟。三十分钟之后,她洗锅,关火,擦干净灶台,离开。走回自己的房间,上床,闭上眼睛。
水不开,时间就不走。
在前厅她给全家人做饭。丈夫,两个儿子,一个婆婆。每天下午五点进厨房,洗菜,切菜,炒菜,炖汤。厨房的窗户朝西,夕阳从玻璃照进来,落在案板上。橘红色的暖光照在手背上,能看见汗毛的影子。菜出锅的时候,天黑透了。厨房的灯亮起来,抽油烟机轰隆隆响。她端着盘子走进客厅,一家人坐在桌边等。那个画面她记了六年。
现在她一个人煮面片。没有夕阳,没有抽油烟机的轰鸣,没有人在桌边等。但她把面片擀得很薄,切得很匀。锅里水开了,她把面片一片一片放进去。热气扑到脸上。
课表
Level 11的建筑中,教学楼占了一个微妙的比重。第十一区便有一栋。
这栋楼据说曾是某个青少年组织的临时驻地,那组织离开level 11后,楼便空了。大多数聚居者对这些教学楼视而不见。它们太大了,搬不走。太空了,住着不舒服。太完整了,拆掉可惜。于是它们被留下。偶尔有流浪者走进去,在某一间教室里坐一会儿,然后离开。
走廊两侧是教室。黑板还在,粉笔槽里积着灰,课桌椅被搬走过一部分,剩下的歪歪斜斜摆着。三楼最里面那间教室,黑板上有人写过字。字迹稚拙,大小不一。内容是一天的课表。
第一节。语文。第二节。数学。第三节。英语。第四节。体育。
课表下面画着一条线。线下面写着值日生的名字。名字被擦掉过,又写上去。反复多次,黑板那块区域已经发灰了。
写课表的人是一个十四岁的女孩,来到后室的一年里她换过三个聚居区,跟过两支不同的队伍,在Level 1的大厅里睡过觉,在Level 4的基地中拿过补给,在Level 9的黑暗里逃出生天。到了Level 11之后她选择暂时不再走了,她找到了这间教室。
她每天早上七点半来这里。坐在第三排靠窗的位置。把书包放在桌面上。书包是空的。她从口袋里掏出一支粉笔,走到黑板前,写下当天的课表。
第一节。语文。第二节。数学。第三节。英语。第四节。体育。
写完她回到座位上,手叠在桌面上,拿出一本书,看四十五分钟,自己写板书。课间休息十分钟。她站起来,在走廊里走一个来回。第二节。数学。四十五分钟。第三节。英语。四十五分钟。第四节。体育。她到走廊上跳了一百下绳。绳子是一截打包带,甩起来呼呼响。
十二点,放学。她把黑板上的课表擦掉。粉笔灰落在地上,薄薄一层。第二天早上,她重新写。即使在Level 11,四十五分钟本可以什么都不是。它本只是一段和任何其他时间一样的时间。
她在这里坐了四个月,四个月里这间教室没有第二个学生。四个月后,她离开了这里,不知去往何方。
有人曾路过这里,听见她在朗读课文。声音从空教室里传出来,带着回声。是一篇关于春天的课文。草绿了,花开了,燕子从南方飞回来。她的每一个字都念得很清楚。
路过的人没有打扰她。
她不需要同学。她需要一张课桌,一块黑板,一节四十五分钟的语文课。她需要知道现在在上第几节。第一节之后是第二节,第二节之后是第三节,顺序是对的。顺序对了,日子就对了。
课表是她写给自己的。每一天都写,字迹越来越端正。
黑板最右边有一小块区域她没有擦。那里写着日期。某年某月某日。那四个月里,日期每天更新。后来她走了,去向不明,最后留下的日期是:
线
后室家居生产厂在四年前铺设了第一台NTP服务器。如今这套系统覆盖了绝大部分有聚居的层级,从Level 1到Level 100,再到那些连名字都没有的边缘层级。服务器从Level 0的原子时基准读取秒长,流浪者腕上的终端如果足够新,屏幕上就会跳动着那串数字,一秒一秒,均匀,稳定,从不迟疑。
但在Level 11,没有人活在协调后室时里。你必须自己制造时间。
用晚市制造。用面片汤制造。用课表制造。用任何你能够找到的东西制造。把它们串起来。从七点到九点,从水开到面熟,从第一节到第四节,把这些点连成一条线。线的长度叫作一天。
这座无尽城市里,有成千上万条这样的线。它们平行,交叉,重叠,分开。每一条线都是一小段被从混沌里抢救出来的时间。线的主人未必知道别人的线是怎么画的,但他们都在画。