/* source: http://ah-sandbox.wikidot.com/component:collapsible-sidebar-x1 */
#top-bar .open-menu a {
position: fixed;
top: 0.5em;
left: 0.5em;
z-index: 5;
font-family: 'Nanum Gothic', san-serif;
font-size: 30px;
font-weight: 700;
width: 30px;
height: 30px;
line-height: 0.9em;
text-align: center;
border: 0.2em solid #888;
background-color: #fff;
border-radius: 3em;
color: #888;
}
@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!important;
position: fixed;
top: 0;
left: -19em;
width: 17em;
height: 100%;
margin: 0;
overflow-y: auto;
z-index: 10;
padding: 0.3em 0.675em;
background-color: rgba(0,0,0,0.1);
transition: left 0.5s ease-in-out;
}
#side-bar:target {
display: block;
left: 0;
width: 17em;
margin: 0;
z-index: 10;
}
#side-bar:target .close-menu {
display: block;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -1;
}
#top-bar .open-menu a:hover {
text-decoration: none;
}
.close-menu {
margin-left: 19em;
opacity: 0;
}
}
/* source: http://ah-sandbox.wikidot.com/component:collapsible-sidebar-x1 */
#top-bar .open-menu a {
position: fixed;
top: 0.5em;
left: 0.5em;
z-index: 5;
font-family: 'Nanum Gothic', san-serif;
font-size: 30px;
font-weight: 700;
width: 30px;
height: 30px;
line-height: 0.9em;
text-align: center;
border: 0.2em solid #888;
background-color: #fff;
border-radius: 3em;
color: #888;
}
@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!important;
position: fixed;
top: 0;
left: -19em;
width: 17em;
height: 100%;
margin: 0;
overflow-y: auto;
z-index: 10;
padding: 0.3em 0.675em;
background-color: rgba(0,0,0,0.1);
transition: left 0.5s ease-in-out;
}
#side-bar:target {
display: block;
left: 0;
width: 17em;
margin: 0;
z-index: 10;
}
#side-bar:target .close-menu {
display: block;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -1;
}
#top-bar .open-menu a:hover {
text-decoration: none;
}
.close-menu {
margin-left: 19em;
opacity: 0;
}
}
:root {
--timeScale: 1;
--timeDelay: 0s;
}
/* Converting middle divider from box-shadow to ::before pseudo-element */
.anom-bar > .bottom-box { box-shadow: none!important; }
.anom-bar > .bottom-box::before {
position: absolute;
content: " ";
width: 100%;
height: 0.5rem;
background-color: rgb(var(--black-monochrome, 12, 12, 12));
transform: translateY(-0.74rem);
}
/* DIVIDER */
.anom-bar > .bottom-box::before {
animation-name: divider;
animation-duration: calc(0.74s * var(--timeScale));
animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.32,.38,.39,.94);
animation-fill-mode: backwards;
}
/* CLASSIFIED LEVEL BARS */
div.top-center-box > * {
animation-name: bar;
animation-duration: calc(0.45s * var(--timeScale));
animation-iteration-count: 1;
animation-timing-function: ease-out;
animation-fill-mode: backwards;
}
div.top-center-box > :nth-child(1) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(2) { animation-delay: calc(0.32s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(3) { animation-delay: calc(0.45s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(4) { animation-delay: calc(0.61s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(5) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(6) { animation-delay: calc(0.95s * var(--timeScale) + var(--timeDelay)); }
/* TOP TEXT */
div.top-left-box, div.top-right-box {
clip-path: polygon( 0% -50%, 150% -50%, 150% 100%, 0% 100%);
}
div.top-left-box > *, div.top-right-box > * {
position: relative;
animation-name: bottomup;
animation-duration: calc(0.65s * var(--timeScale));
animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: ease-out;
animation-fill-mode: backwards;
}
/* CONTAINMENT, DISRUPTION, RISK CLASSES */
div.text-part > * {
clip-path: polygon( 0% 0%, 100% 0%, 100% 100%, 0% 100%);
animation-name: expand2;
animation-duration: calc(0.5s * var(--timeScale));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.12,.41,.27,.99);
animation-fill-mode: backwards;
}
div.text-part > :nth-child(1) {
animation-name: expand1;
}
div.text-part > :nth-child(1) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); }
div.text-part > :nth-child(2) { animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay)); }
div.text-part > :nth-child(3) { animation-delay: calc(0.86s * var(--timeScale) + var(--timeDelay)); }
div.main-class::before, div.main-class::after {
animation-name: iconslide;
animation-duration: calc(0.45s * var(--timeScale));
animation-delay: calc(0.8s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.12,.41,.27,.99);
animation-fill-mode: backwards;
}
/* BOTTOM TEXT */
div.main-class > *, div.disrupt-class > *, div.risk-class > * {
animation-name: flowIn;
animation-duration: calc(0.42s * var(--timeScale));
animation-delay: calc(0.75s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: ease-out;
animation-fill-mode: backwards;
}
/* DIAMOND */
div.arrows {
animation-name: arrowspin;
animation-duration: calc(0.7s * var(--timeScale));
animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.12,.41,.27,.99);
animation-fill-mode: backwards;
}
div.quadrants > * {
animation-name: fade;
animation-duration: calc(0.3s * var(--timeScale));
animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.12,.41,.27,.99);
animation-fill-mode: backwards;
}
div.top-icon, div.right-icon, div.left-icon, div.bottom-icon {
animation-name: nodegrow;
animation-duration: calc(0.4s * var(--timeScale));
animation-delay: calc(1.4s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.12,.41,.27,.99);
animation-fill-mode: backwards;
}
div.diamond-part {
clip-path: polygon( -10% 0.37%, 120% 0.37%, 120% 100%, -10% 100%);
animation-name: diamondBorder;
animation-duration: calc(0.8s * var(--timeScale));
animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.32,.38,.39,.94);
animation-fill-mode: backwards;
will-change: box-shadow;
}
/* MOBILE QUERY */
@media (max-width: 480px ) {
.anom-bar > .bottom-box::before {
display:none;
}
.anom-bar > .bottom-box {
box-shadow: 0 -0.5rem 0 0 rgb(var(--black-monochrome, 12, 12, 12))!important;
}
div.top-center-box > * {
animation-name: bar-mobile;
animation-duration: calc(0.9s * var(--timeScale));
}
div.top-center-box > :nth-child(1) { animation-delay: calc(0.1s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(2) { animation-delay: calc(0.2s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(3) { animation-delay: calc(0.3s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(4) { animation-delay: calc(0.4s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(5) { animation-delay: calc(0.5s * var(--timeScale) + var(--timeDelay)); }
div.top-center-box > :nth-child(6) { animation-delay: calc(0.6s * var(--timeScale) + var(--timeDelay)); }
}
/*--- Motion Accessibility ---*/
@media (prefers-reduced-motion) {
div.anom-bar-container { --timeScale: 0; }
}
/*-------------------------*/
@keyframes divider {
from { max-width: 0%; }
to { max-width: 100%; }
}
@keyframes bar {
from { max-width: 0%; }
to { max-width: 100%; }
}
@keyframes bar-mobile {
from { max-height: 0%; }
to { max-height: 100%; }
}
@keyframes bottomup {
from { top: 100px; }
to { top: 0; }
}
@keyframes expand1 {
from { opacity: 0; clip-path: inset(0 calc(100% - 0.75rem) 0 0);}
to { opacity: 1; clip-path: inset(0);}
}
@keyframes iconslide {
from { opacity: 0; transform: translateX(-5rem);}
to { opacity: 1; transform: translateX(0);}
}
@keyframes expand2 {
from { opacity: 0; max-width: 1%;}
to { opacity: 1; max-width: 100%;}
}
@keyframes fade {
from { opacity: 0;}
to { opacity: 1;}
}
@keyframes flowIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes arrowspin {
from { clip-path: circle(0%); transform: rotate(135deg); }
to { clip-path: circle(75%); transform: rotate(0deg); }
}
@keyframes nodegrow {
from { transform: scale(0);}
to { transform: scale(1);}
}
@keyframes diamondBorder {
from { box-shadow: -0.5rem -20rem 0 0 rgb(var(--black-monochrome, 12, 12, 12)); }
to { box-shadow: -0.5rem 0 0 0 rgb(var(--black-monochrome, 12, 12, 12)); }
}
:root {
--posX: calc(50% - 358px - 12rem);
}
/*--- Footnote Auto-counter --*/
#page-content {
counter-reset: megacount;
}
/*--- Footnote Superscript Number --*/
.fnnum {
display: inline-block;
text-indent: calc(-1% - 0.1em);
overflow: hidden;
line-height: 83%;
text-decoration: none;
font-weight: bold;
font-style: initial;
color: transparent;
position: relative; top: -0.25em; font-size: 82%;
padding: .15em calc(.21em - 0.4px) .12em calc(.11em - 1px);
margin-left: -0.06em;
margin-right: -0.25em;
counter-increment: megacount;
user-select: none;
}
.fnnum::after {
content: "" counter(megacount);
color: var(--fnColor, #E6283C);
}
.fnnum:hover {
text-decoration: none;
cursor: pointer;
background-color: var(--fnColor, #E6283C);
}
.fnnum:hover::after { color: white; }
/*--- Footnote Content Wrapper --*/
.fncon {
position: absolute;
right: calc(var(--posX) + 80px);
line-height: 1.2;
padding: 0.82rem;
width: 10.3rem;
background: white;
border: 2px solid black;
font-weight: initial;
font-style: initial;
text-align: initial;
pointer-events: none;
opacity: 0;
transition: opacity 0.15s linear, right 0.3s cubic-bezier(.08,.72,.5,.94);
z-index: 9;
}
.fnnum:hover + .fncon {
opacity: 1;
right: var(--posX);
}
.fncon::before {
position: absolute;
top: 0; left: 0;
transform: translateX(-52%) translateY(-55%) scale(1.15);
background-color: var(--fnColor, #E6283C);
color: white;
content: counter(megacount);
font-size: initial;
font-weight: bold;
font-style: initial;
padding-left: 0.32em; padding-right: 0.32em;
padding-top: 0.18rem; padding-bottom: 0.08rem;
}
/*--- Mobile Query --*/
@media only screen and (max-width: 1279px) {
.fncon {
position: fixed;
bottom: 1.3rem;
left: calc(11% - 50px);
width: 70%;
transition: opacity 0.15s linear, left 0.3s cubic-bezier(.08,.72,.5,.94);
}
.fnnum:hover + .fncon {
left: 11%;
}
}
老寒是一名程序猿,每天加班到凌晨三点。由于工作的缘故,到四十几岁了还没有女朋友。每天起早贪黑,都忘记了原来的生活。回到家便倒头呼呼大睡,就这样干了十三个年头。
林寒是老寒的本名,但他觉得这个名字不好称呼,便叫同事称呼他老寒。听老寒说,他的名字取自三峡中一句“每至晴初霜旦,林寒涧肃”。老寒心里却想,好端端为什么自己成了片树林呢。老寒想这问题想了很久,问了问街上做法的老头,才明白这件事。
他姓林,名寒,五行缺木但心却易燥,故名寒。老寒哪能信这鬼话,对那老头痛骂一顿,摇摇手便走了。但他心里却挺感激那老头的,说是让他明白了家人的苦心,便下定决心——今年一定要回家看看。
自此,老寒每天忙于工作,乐此不疲。时不时远远眺望窗外的高楼林立,妄想着自己终于有一天成就了自己,由是感激。
老寒这几天心情也好,常与同事约着到河坝下走走。老寒有个好朋友叫李绝巘,和老寒相处甚好。老寒来工作的第一天他就上前搭话,竟发现彼此是同乡人,就越聊越开,逐渐成为彼此的知己,老寒也亲切地称呼老李。
老寒听说这人名叫李绝巘,和自己的名字同属一诗,又是同乡人,感到十分惊讶。听人们说,这林寒是长在绝巘上的。也确实如此,老寒受了老李许多帮助,两人谈起自己的喜好,都好游山玩水,便约定年后一同回乡,入个旅游团去那三峡看看。
一天,老李到老寒家玩,笑眯眯地给老寒递来了件宝贝:
“老寒,我看你这几天写代码这么累,给你个好东西,听说压力太大能减少压力……”
“都什么年代了还听这话,假的假的,不要搞的那么神经兮兮。”
“不是老寒,我跟你讲,这东西可是我亲戚大老远从法国带过来的,这能有假?再说咱多年的交情,我怎能骗你?”
“这什么东西我不知道?那要真有这种东西,不得一群人围过来跟你抢?咱们是被装在社会这个罐子里的聪明的脑子,又不是傻子……”
“你就是不懂,这…这多好一东西,来我念这上面的介绍你听听。呃,本产品来源于这个法国特异医疗中心,属于精神药物,能改善身体压力,缓解疲劳……”
“行行行,我收下就行了吧!”
老寒从老李手上接过那瓶药,将它放在了橱柜里。
同老李寒暄了一会,老寒便送老李回家了。带着疲惫的身影,老寒回到家。看到橱柜里的那瓶药,里头的药丸颗颗剔透。老寒犹豫了一下,默默打开了盖子,拿起了一颗吃下去。那药丸尝起来凉凉的,没有味道。
那天晚上,老寒做了一个美妙的梦。
他梦见自己在家,一旁是贤惠的老婆。孩子们在院子里你追我赶,一旁的老爸老妈正相互依偎,笑着看着手中的老照片。同事们包括老李也都在阳台上,见他们容光焕发,和写程序时的样子完全不同。老寒眼睛一酸,眼泪顺着脸上的千沟万壑,滴在他粗糙的手上……
梦醒,老寒抹了抹眼睛,发现自己真的流泪了。
自从那时起,老寒每天更用劲去干活了,每晚老李都在边上帮他收拾这一瓶瓶咖啡罐罐。这一晃又过了三年,这三年间,老寒找到了自己命中注定的那个人,升职成了副经理,坐上了属于他的那把金凳子。这不瞅着,老寒已经把住在乡里的老爸老妈接进了城里,过起了有滋有味的生活。
一天晚上,老寒独自一人在河坝下走着,遇到一小伙正站在那河边。老寒动了恻隐之情,走上前去:“小伙子,你站着河边做啥,可别想不开啊。”
小伙转过身,看着老寒,笑了笑:“是林寒博士吧,您好,我是Mic Line。”
小伙那眼中没有高光,就这样盯着老寒。他慢慢走了过来,抬起手,放在老寒肩膀上。老寒觉得事情不对,挣扎着想要脱身。
“安心吧,梦要结束了。”
老寒顿时眼一糊,挣脱了那两双手,用力搓了搓眼睛,却疼的睁不开。但他却感觉以前都在离他而去,就像在河道逆行一般。一阵光亮透过双眼,老寒睁开眼,却是旧时相识。
老寒拿着药丸,药丸闪着亮光,映照出老寒那双空洞的眼睛……
“你去过三峡吗?”
“当然去过了。”
“你知道那首诗吧,当你真正自己乘船漂流在那窄窄的水道里,会发现时间过得真的很快,就像随着河水一同流逝。两岸猿啼,才使得诗人流泪。”
“这和项目一定有深刻的关联吧。”
Mic Line推开昏暗灯光下的大门。映入眼帘的是一番让人恐惧的景象:并排而放的水浴缸,透过玻璃罩,里面挤满了放在红色液罐中的大脑。
Mic Line 从里面拿出一个液罐,液罐里大脑上的血管还在轻微的抖动。
“这个计划是如此,通过将人的思绪投入记忆的河湾,在梦中让人感伤,抑制人的记忆直到深处。就好比三峡的河水一样,将你卷入记忆的深处,让你的记忆无法从深处被提出,所以上面把这取名为‘三峡计划’。作为优秀的基金会员工,我们诚邀你加入这项计划。”
在基金会里,就算我们再怎么努力,也就像这液罐里的大脑一样。比起永远在这里静静呼吸,倒不如干点有意义的事情。”
Mic Line笑了笑,擦干了液罐表面的不明液体。将液罐扔进水浴缸中,按下了一旁的按钮。
李绝巘是咱站点的文书组组长,天天指使着同事们干这干那,自个儿却在一旁喝着咖啡,看着员工们忙忙碌碌。这就是他的生活,他这么说。
老李上头有个高中同学,因为都在这个单位,所以老李整天就和这同学一起聊天吃饭,叫什么Mic Line。
一天,那同学捧着盒什么东西,老李看了眼馋,便上前去。同学悄咪咪地对老李说,只要你把这盒东西拿给一叫林寒的同事,咱下次给你更好的东西。老李可就真馋不住了,小心翼翼地接过那盒好东西。
谁知道,老李和老寒却越变越要好,不知是老李诚心的还是为了东西,只是过了很久才想起来有这事罢了。一天老李到老寒家去,本提着一盒子药丸,却因自己的贪心,偷偷拿了瓶揣在自己的口袋。
晚上老李回到家,掏出那瓶东西来,按照上面的说法吃了几颗,倒头就睡去了。
那天老李也做了个梦,梦见了老寒。老寒找到了自己的另一半,和自己的家人度过了一天又一天。这是老李第一次为老寒的成功感到欣慰。
然后就梦醒了。老李搓了搓眼睛,窗外明媚的阳光照在窗台上,上面还坐着个人。
“Mic Line?”
“我不是他,我是你自己。”
老李惊坐了起,可他看到一管麻醉剂已经狠狠地插在了他的左腿上。老李使劲站起,全身哆嗦着,可就是使不上力气。血从他面前喷涌而出,伴随着剧烈的疼痛,老李缓缓闭上了眼睛……
李绝巘就看着Mic Line按下了按钮,随着一阵刺耳的蜂鸣声,记忆一股脑的涌向脑中。
“什么才是真实的,什么才是幻境?”
李绝巘开口,伴随着颤抖的声音。然后,明白了一切,从梦开始的地方就已经是在梦中了。
“梦境和现实已经交织在了一起,现在你要做的就是接受更多的现实或梦境。当你迈开第一步时,就要想到最后一步。梦境扭转着现实的节点,像三峡的河水溯湍急流。在梦中才能感受到你真实的情感,让你为谁落泪,让你真正理解生活的意义,才是三峡计划的用意。”
李绝巘拿起Mic Line递来的文档,第一批参加计划的名单里就有林寒的名字。Mic Line从水缸里拿出一个液罐,擦干了液罐上的水滴。液罐上清晰地标注着老寒的名字。
“第一批参加项目的人们,失败的不胜其数。可你知道吗,林寒就独自在梦境中哭诉,他是唯一一个发现自己在罐中的自愿者,但他的意识已经随着那记忆的长流静静飘走……”
Mic Line递来一份文件,是实验结束的保单。
他在文件中签下自己的大名,想着和老寒度过的时光,眼泪终于溢满眼眶。带着疲惫的身影,走出大门。
回过头,门牌上是一句短诗:巴东三峡巫峡长,摇曳梦坠泪沾裳。