≡
: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 }
在我眼中,天空还是那么灰暗。一片昏灰,难以分辨出云层和天空。偶尔有几丝光苟且折射出来,挣扎着逃离了云的束缚。
在我耳边,一直回响着那不停歇的耳鸣,电流声滋滋作响。它们偶尔戛然而止,偶尔又不合时宜地出现。
我是一条蛇。
你可以叫我,蛇先生。至少很多人都是这么叫我的。算不上个雅称,但这是能表现出我的特点的最好称呼。有些孩子们喜欢叫我“条纹先生”,如你所见,我是一条蛇头人身的怪物,黑白条纹,身高一米七五的个子。如果你见到个穿着老套米黄色外套的怪物,那就是我。
我其实对他们的称呼并不在意,也并不想要了解背后的缘由。
我只是坐在我自己的胶卷店里,洗刷着胶卷。
窗外的景色被钢铁猛兽侵袭,一片混凝土味的灰暗。这一片灰,品起来似乎别有韵味。灰是白和黑之间的阈限,它完美地含括了黑的静美与白的活力,形成了一种和谐的美。这种和谐充斥在Level 11内,变成了主色调,变成了掌舵手。
孩子们在马路上打闹着,笑着,笑得如朝阳。他们不在乎时间的流逝,生命的燃烧。他们只是为自己而活。
曾几何时,我也想理解人类的恨与爱。这就是为什么我开了这家专卖店。
专卖店很小,同样是混凝土味道的灰。胶卷杂乱地摆在展示台,等待着被洗刷的命运。我坐在木质柜台后,只是静静地看着这个灰色世界。
你可能会误会,我只是一个卖胶片的,你们口中所说的无聊的“实体”。其实不然,我的招牌上写着几个字“愿望专卖店”。
没错,我是一个卖愿望的商人。除了回到前厅和破坏后室,其他的事情我都能做到。
作为交换,我想……获取你们的爱与恨,悲与乐,以及生命中宝贵的东西。
这就是我的自白,谢谢你看到这里。
有许多人都来此处许愿,有希望自己长命百岁的,有希望自己的父母复活的,也有希望自己病灶除去的。无奇不有。我拿走了他们的时间、寿命、记忆、情感。但没有一个人和她的愿望一样。
她叫暮目花由子。十七岁的女生。脸上捎带些麻子,短短的黑发。她总是喜欢穿着一身白色连衣裙。
她提出自己的愿望时,我怔了怔。
“你是说,你想让我陪你三天?”
“怎么啦,不愿意?”
“没有,只是很奇怪而已。”
她转了个圈,连衣裙随风飘舞。脸上带着欢心的笑容,不同于这片灰色世界。在灰色世界里,她又是那么独特。身着纯洁无瑕的白裙,似乎想要唤起一阵风,吹散阴霾。
“可以是可以……但是……我怎么做?”我第一次感到有些无所适从。
“跟我来就知道了。”她纤细的手拉住了我的胳膊。她和我在楼宇间奔跑着。只是奔跑着,不在乎周围的眼光,迈开腿,飞奔起来。
我有点仓促地跟着跑,以防与地面来个亲密接触。我衣服口袋里的胶卷掉了出来,飞向蓝天。
只是在奔跑。
她拉我去她家里,穿梭在白净的楼道内。她的脚步声很轻,轻到似乎没沾过地。她将自己的衣物和其他用品一股脑地装在行李箱里。而我只是静静地站在卧室门外,看着窗外的白蝴蝶飘舞,震着它轻柔如丝的翅膀。窗外,似乎不那么灰了,孩子们在阳光下玩闹,玩着前一代人所喜爱的滚铁环、跳房子。
为什么呢,为什么她会想要让我陪她呢,她太过孤独,以至于没有人类朋友只能找我了吗?我不知道。或许我只是个怪物,不懂感情的怪物,可以随意捉弄我罢了。
总之,我还是被迫接下了这份愿望。交易的货币……等完成愿望了再说吧。
她收拾好后,轻轻地拍了拍我的后背。叫醒了沉浸于思考的我。
“你为什么要许这个愿?”我只是问。
“想知道?三天后告诉你吧。”她俏皮地拉了拉眼皮,风趣地说道。手里提着一桶金鱼。
她拉我去小小咖啡厅。我从来没喝过咖啡。她只是让人泡了两杯焦糖玛奇朵。咖啡液上用奶泡画了一个拙劣的爱心,看来创作者并不是很熟悉这份工作。我有点好奇地双手拿起杯子,轻轻嘬了一口……
“唔!好苦……”我赶忙喝了点净水,嘴里像是被狠狠打了一拳一样。
“哈哈哈……”她笑了,笑得很开心,笑得如朝阳。“没事吧?要不我给你加点糖?”
“不用了!我能行。”我开始犟了起来。
喝下的第二口,嘴里不是那么苦了,稍微有些回甘。苦尽甘来。
也许咖啡并不是那么糟,即使是我第一次尝试。就像是亚当第一次偷摘禁果一样好奇和激动。
“别人说你冷漠无情,好像也不是那回事嘛……”她打趣地说道。
我不知道我何时变成这样的,是经历了人生的许多喜乐悲欢之后?还是体验过他人的苦痛之后呢?
我不知道。
她只是和我在街上逛着,偶尔她会用手蒙住我的双眼。我惊愕地转身,她和我一起迈着稍显暧昧的步伐,亦步亦趋。
不知过了多久,我迷迷糊糊地听到,她说今天是她的十七岁生日。那天我熬夜了,第一次熬夜很不好受。耳朵里耳鸣声渐渐变大,眼前的事物逐渐模糊化。电视的黑白色块融为一体,形成谐和的灰。灯光逐渐和背景融为一体,酒杯折射着绿色的灯光,难以区分现实与梦幻。
我们切入无尽的天空,不停地坠落,狂风鼓起我们的衣裳,感受着狂风吹散我们身体里的烦恼和病灶。
“再快点——”风中传来她断断续续的回音。
我只知道那天,我们玩得很疯。明明才认识一天,却像彼此生命中特别的存在一般。我们在我的胶片店里看老式黑白电影,看卓别林的《摩登时代》。
我为她插上了十七根蜡烛,插到手酸。一起哼唱着生日歌,唱到虚脱。就躺在地上睡着。
那也许是我第一次体验生活。
Chapter Ⅲ
就这样,我们将金鱼放进了大海。
她早早地叫醒了睡在地板上的我,拉我去看海。
我不知道后室哪里有海,但她说:“跟我走就是了!”
不知道切入切出了多少个层级,我睁眼便是一片海。天空中挂着即将落幕的夕阳,天空在夕阳的照映下擦上了些许粉黛和鹅黄。
海可是一个阴晴不定的主儿,特别是傍晚的夕阳下,时而沉默,时而澎湃汹涌。海浪们在海边欢叫着,激起众多泡沫蝴蝶。我和她走在海边,浪花轻抚着我们的脚踝,有点清凉,但又无比温柔。抬起眼来,海面上一众波浪欢叫着向我们袭来,光的照映使它波光粼粼。
她说,她的母亲曾带过她来看海。只不过那是前厅里的故事了。她和我一起在沙滩上找贝壳、找海螺。她躺在沙滩上,身上裹得全是泥沙。但她笑了,笑得如夕阳般灿烂。
“我很久没有这么疯玩过了。”她长出一口气,宽慰地说道。
而我只是拘谨地坐在沙滩上,尽量不让衣服粘上脏污。我的尾巴在沙地上甩来甩去,——蛇也会甩尾巴吗?
她站起身来,跑到一处较高的沙滩上:“你有带相机吗?”
我拿起相机,对准了她。她大吼道:“对不起——我只剩三天时间了——没什么东西可以给你——”眼里闪着光,光逐渐从眼眶处落下。
我也大吼道:“没事——拍个照吧——”
我给她拍了一张照,照片上的她很美,眼里抿着泪花,自己则在海风中起舞,转来转去。
她好似一阵风,来也匆匆,去也匆匆。转眼间,她便随风飘去,化作云烟。来了又走的她,谁也不能否认过她的到来。
她拿起桶里装的金鱼,一股脑地往海里面倒。
“你干什么呢?”
“放金鱼啊!”她笑着回答道,拉长着嗓子。
“你放金鱼干嘛——”
“你先下来吧——”
她拉我下海,咸腥的海水差点灌入了我的口腔。她和我一起在海下游着。伴着游来游去的金鱼。金鱼好像变成蝴蝶了,飘来飘去,放肆地起舞着。
她逐渐支撑不住,想要回岸。我便拉着她纤细的手,游到金沙滩上。
她气喘吁吁,躺在沙滩上。恢复后,她朝天空大吼:“我还活着——”
金鱼向着大海游去,不再回头。
就这样,我们将金鱼放进了大海。