你有杀过人吗,Everett?
不,我觉得你大概没有。虽然人人都说你是个疯子医生,但记录表明,你对弄脏自己双手这种事还是很介意的。说实话,我觉得那还挺值得尊敬的。你是怀着好意加入基金会的,而且你基本上没怎么改变过这些意图。这其实不多见,你懂吧。有很多人都做不到这一点。
但是如果我告诉你,当你夺走某个人的生命时,你的身体里会涌起一阵冲动,尤其是第一次的时候……你就没办法理解我的意思了。对我来说,那是在越南的时候。一个人从丛林里钻出来,拿着一支长矛朝我冲过来——想想看,一支长矛啊——而我要扣扳机的时候,我的枪被污泥堵住了。我把它给扔了,只用一把刀子和我的智慧来直面那个人。
记忆总是会随着时间而背叛你,多有意思啊。我以前有过孩子,我以为我会永远记得他们出生的样子,然而那么多年过去了,这份记忆早就随着遥远的过去一起埋在了迷雾里。但那个时候,六十年前,我抓住了那个人、和他在泥浆里扭打的那个时候,我还记得那个时候。我还记得他脸上的决心,当他把长矛捅向我脑袋的一侧,准备结束我的生命时那副胜利的表情。我还记得他眼中的恐惧,当我抓住了他,把刀刺进他的肚子,然后滚到他身上准备把他推到烂泥地下的时候。
肾上腺素令人亢奋,而当我看到那个人脸上真实、专注、仿佛命悬一线的神情的时候,亢奋感更强烈了。我意识到这就是他一生的故事结局的时刻。他与我厮打搏斗,用断裂的矛头刺伤了我的手臂,但当我伸手锁住他的喉咙的时候,他整个人都变了。那个眼中带火的坚定的人不见了,取而代之的是一只蜷缩的小动物,尖声吱叫着向我乞求放他一命。至少,我想象他在乞求。我也不懂越南语。
当他死去后,我感觉到了什么东西涌上我的身体,比任何一种药物的作用都要强劲。在那一刻,我觉得自己可以杀死一千个人。但那不止是力量,Everett。那是神性。上帝召唤我,让我审判这个人,而我亲手完成了审判。
不,Everett,这不是什么圈套。我不打算杀你。我喜欢跟你谈话,Everett。你的视角很独特,还没有被监督者那些琐碎的政治事务玷污。我不会杀你的。我告诉你这一点,因为我想让你知道这个组织里只有没几个人知道的事情。那些我的同级都不知道的事情。
我想跟你说说不老泉的事情。
庞塞·德莱昂不是第一个去找那泉水的人。探险家已经满世界地寻找过它了。每个文化里都有这样的神话,关于一眼能让老人和病人恢复生机的魔法泉水。在前现代医学的时代,这个故事肯定无比吸引人。那个时候,疾病意味着折磨,年老是一个诅咒——而一个人只需要喝一口泉水,就能被完全治愈,摆脱它们带来的苦难了?所以千百年来,一直都有大群的人试图从时间的严酷中寻到解脱的办法,这一点也不奇怪。
所以,庞塞·德莱昂不是第一个。但他是最接近的一个。他的个人记录显示,他被当地人袭击受伤的时候,离那眼泉水只有不到一英里半了,可他再也没有更近一步。你看,有那么多人浪费时间在加勒比海的洞穴里挖掘,肯定是被那清澈的海水和温暖的海滩迷惑了。还有什么地方更适合永远居住呢?可是庞塞做了研究,他没在海滩上挖掘,反而转向了南佛罗里达的沼泽,只带了几个最亲密的朋友和两个受迫的当地人。他离那泉水很近了,但再近的距离也没办法确保你永生不死。
真正找到它的是一个加拿大人,叫Charles Blackburne。他的商船在沿海岸航行时搁浅了。Charles和他的几个手下下船去收集补给,漫无目的地走了一会儿之后他就遇到了它,完完全全是个意外。了不起吧?他都没有意识到自己找到了什么,他只知道那是淡水,而他的船员需要淡水。所以他收集了一些水,回到了船上,在海图上标记了泉水的位置,从此就从历史记录中消失了。
事实上,他可能根本没有意识到那泉水有多特殊。这是不老泉的关键,Everett。你不会喝上一口就永葆青春——那也太简单了。在我们这行,没有一件事是那么简单的。不,你必须得一直喝它,在喝的时候你会感觉自己恢复了活力,得到了营养,丰富了生命。疼痛消失,衰老的骨头重回年轻,眼袋像从来没长过那样褪去。你重新变得年轻。而如果你不停地喝,你就会一直保持年轻。直到永远。
至少,这是那眼泉水打算让你这么做的——如果它真有什么打算的话。可是下一个找到它的人不仅仅意识到了自己找到了什么,还意识到了每天喝一次这件事还不够。你不能用瓶子把水存起来,每天太阳一落山,它有的随便什么魔力就失效了。当他发现自己卖给那些费城精英的水就只是水的时候,他肯定很惊讶。
但这个人很坚定。他查阅了文献,采访当地的人,在二十多年的时间里,他收集的关于那泉水的信息可以装满一整座图书馆——现在确实已经装满了,在监督者议会那里。说实话我受不了那个地方;那些文献保存得不好,整个翼区闻起来就像个发霉的屁眼。但我也不能否认它们的用处。在艰苦工作了二十年之后,他终于揭示了那眼泉水的真相。那可怕的,糟糕的真相。
那泉水是一个闭合系统的一部分,Everett。这是这个世界循环能量的办法——它这样循环着那些让世上所有生命得以延续的能量。我们死去,回到大地,那泉水就把能量给回世界。它渗入土壤,于是整个循环重新开始。在前工业时代的佛罗里达,茂盛的树林和沼泽更容易让人相信这泉水是它周围世界的生命之源。
当然了,我已经说过,它不可能有那么简单。在那些当地人的传统中,你死去的时候,会把你的能量抛给周围的世界。那能量——他们管它叫“灵魂”或者类似的语焉不详的词语。如果你在平和中死去,那你的能量就会轻轻地散落在你周围的环境里,那个地方会把你的能量——不管剩下的有多少——交还给泉水。但如果你是在痛苦中死去的,那你的能量就是破碎分散的,没有办法安息——所以世界就会把所有的能量都还给泉水。这个人可能在某个时候猜到了这一点,因为根据他的日志,他有时候会几天甚至几周都不会去喝泉水,因为他没有感觉泉水的力量在身体里减弱了。有时候,那力量甚至还会增强。
在某天,他在日志里写道:“今天,一位来自莫里斯顿殖民地的迷路旅行者带着他的儿子进了我的营地。我割开了他们两个人的喉咙,把他们的血浇到了水里。之后当我喝水的时候,感觉就像是全能的神降临到了我身上一样,坚不可摧。那个时候,我就意识到了这条路会将我带往哪里。”他下一年一口泉水都没喝,但没有老去哪怕一天。
这个人开始制定一项计划。他不可能永远待在那里——他总会被找到,或者飓风可能会像以前发生过的好几次那样吹走那眼泉水。不,他需要找到一条出路。他计划着,思量着,尽管世界年纪渐长,他却免于此种苦难。他很少离开,每次都是为了追寻更多的知识或者资源。他利用一百多年来收集的知识获得了力量、威权和财富。他建立了自己的小小王国,并且在这个过程中聚集了他信任的人来保守秘密。
然后,在二十世纪初,基金会建立了。这个人对超自然现象并不陌生,并且已经通过偶像和手工艺品在当地积累了一笔小小的财富。除此之外,他还是一个精明的商人,一位敏锐的学者,和一个肮脏的富人。他利用他的资源——他在当地得来的资源,建立在奴隶劳工和掠夺性资本主义行为之上,简直能让兰德公司都脸红——建立了早期的基金会,把一小撮志同道合的知识分子发展成了一个强大的超自然研究学院。
当然,好处并不是单方面的。他把他的资源和权力提供给基金会,基金会也把影响其他有权有势的人的机会提供给他。他很早就决定了,单凭他独自一人是没有办法完成他的计划的。他需要同盟,需要外交关系,需要来自不同背景、拥有不同经历的人来帮助他塑造他眼中合适的世界。他是一个有远见的人,他看到了笼罩在世界黑暗角落里的阴影,来自未知的超常现象的持续威胁。那是一个无法简单地用枪打倒,或者用钱收买的敌人。
他们的工作一直持续到20世纪。缓慢但坚定地,他的计划在基金会的掩护之下一步步成形。他的外交官在普鲁士和德国为欧洲的统一播下了种子,宣传家则在英国努力愈合与法国的旧伤。他的工厂制造起了武器和钢铁机器,大炮和化学药品。在基金会的伪装之下,他们扩张了自己的势力,毒害了欧洲大陆上每一位政治家和军事家的思想。他们在欧洲大地上堆满了木柴,用民族主义的燃油浸透了它们,然后划了一根火柴。
接下来几年里发生的大屠杀是这个世界前所未见的——也可能永远都不会再见到了。人变成了肉,被扔进一个巨大的、无情的机器里,直到其中的一方被堵死为止。可是那机器变得无比巨大,无数的人穿着明亮的制服列队前行,指向另一边同样穿着明亮制服同样在列队前行的人,然后榴弹炮把他们嚼成碎片,战壕沟把他们尽数吞下。
与此同时,他隔岸观火,静静等待着。他已经做过计算了。他最亲密的朋友们,那些帮助他走向最后成功的人们,和他一同等待着。他们一直等着那一刻,那泉水的力量达到巅峰的时刻,那些死在索姆河和凡尔登的生命尖叫着回到泉水的那一刻。他们要到那个时候才去喝泉水,这样泉水的力量就会永远留在他们身上。他们等了好多年,等待着时机,点数着死亡。然后,在胜利的前夕,他们聚到一起,从泉水里捧出一小瓶,为自己的成就干杯。
他们喝了泉水,然后他们就死了。
别那么惊讶,Everett。你以为我剥夺了你的幸福结局,是吗?让我再给你描述一下吧。他们从自己的小瓶里喝了一口,然后他们的舌头就化成了灰。他们的喉咙开始灼烧,眼睛开始流血。他们抓着自己的脖子直到把它扯开,大口喘着气,而胆汁在他们的身体里沸腾。他们的腹部爆裂开来。他们的骨头化为尘土。他们的血管冷却发蓝,然后他们就死了。
但是幸运的是,他是最后一个死的。他不停地哽塞、乞求着,像野兽一样在地上翻滚,直到我穿过房间向他走去的时候都还活着。他的眼睛从脑壳里鼓起来,我看到了和两百年前那个可怜的越南王八蛋一样的惊慌神色。那个越南人就只是个小偷,一个普通的强盗,只会在路边抢劫那些不懂事的年轻人。可是这个人不一样。这个人割开了我的喉咙,割开了我父亲的喉咙,夺走了我的生命,试图把它变成他的生命。这个人把我丢在沼泽地里等死。
可能他最后认出了我。可能他看到了我脖子上的伤疤。但就算他认出了,他也没有说出来。他到最后也没说几句话,因为他的身体从两头漏了出来,他的眼眶先是发紫,然后发黑。不过他还是很幸运。我情不自禁地沉浸在这一切的诗意之中,用我的刀划开了他的喉咙。他很幸运,因为我划完的时候他已经死掉了。
我在很早的时候就加入了基金会,Everett。因为我知道他就在那里。当他构建着自己宏伟的愿景,把每一块拼图放到合适的位置的时候,我就跟在他身后。他完全沉浸在自己的世界,根本就不知道我也在那。我像影子一样跟了他那么多年,在他接近的每一个岗位工作,尽我所能了解着他的事业。我了解了他的穿衣方式,学会了他说话的样子。我了解了他的一举一动,学会了他拿笔的姿势。我甚至花了很长的时间学会了他的口音。我做了他的发型,像他那样微笑,像他那样耸肩。然后,当他胜利的时刻到来时,我在泉水里下毒杀死了他。第二天,我穿着他的衣服走进Site-02,没有人感觉到任何区别。他们的管理员一夜之间变成了监督者,而他们什么都没有注意到。
你看,这个人总是用那些宏大的,笼统的词来讨论我们的目标。他会讨论不朽的的人类精神,人类与未知的艰苦斗争。他会说:“也许有一天我们不得不做一些可怕的事情。这项任务将落在我们身上,因为我们是最适合承担责任的人——我们是有信念的人。”他会把信念当成借口,好让他继续心安理得地完成他的宏大幻想。他用信念把上千万人的死说得光明正大——你明白吗?他让上千万人牺牲,好让他偷窃他们的灵魂。他就这样获得他的权柄,可是到最后,他的信念又成就了什么呢?
是他的信念建立了基金会吗?不,它是建立在黑人奴隶断裂的背脊和欧洲人的血腥钱上的。
是他的信念让年轻人的血液滋润了欧洲的大地吗?不,那是霞飞和法金汉干的。他连枪都没举过。
是他的信念救了他的命吗?
不,我杀了他,他已经死了。
靠,到现在,我连他的名字都不记得了。
然后,你知道吗?对我而言,我根本不需要什么信念。
这个故事是真的吗?我也不知道,Everett。你觉得呢?你觉得我会浪费时间在这里跟你讲童话故事吗?我们都是很忙的人。拜托。
那泉水后来怎么样了?我把它毁掉了,当然了。毕竟那也只是一眼泉水而已。他把房产建在它上面,我就把它们都烧光了。我猜现在那个地方是个停车场——不过我也很久没有回去看过了。
我在毁掉那泉水之前喝了它吗?
这么说吧,1916年确实已经过去很久了,而两千万人也确实是很多很多人。
Everett!放松!你好像以为我刚告诉你基金会是大屠杀的幕后黑手,或者什么乱七八糟的东西。你该不会以为我是认真的吧,是吗?我只想看看你会怎么想,但这不是真的!
我发誓,有时候你好像根本不了解我。你怎么会相信这么滑稽可笑的事情呢?有点常识吧。
不过这个故事还挺好的,不是吗?
@supports(display: grid) {
:root {
--sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19);
--body-width-on-desktop: 45.75rem;
}
@media only screen and (min-width: 769px) {
#side-bar .close-menu {
display: block;
position: fixed;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
background: unset;
opacity: 1;
pointer-events: all;
z-index: -1;
}
#side-bar .close-menu img {
color: transparent;
}
#side-bar .close-menu::before,
#side-bar .close-menu::after {
content: "";
box-sizing: border-box;
position: fixed;
display: block;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
padding: 0;
margin: 0;
text-align: center;
pointer-events: all;
cursor: pointer;
transition:
opacity var(--sidebar-transition-timing);
}
#side-bar .close-menu::before {
--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E");
z-index: -1;
background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important;
-webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: 50% 50%;
mask-position: 50% 50%;
-webkit-mask-size: 60%;
mask-size: 60%;
}
#side-bar .close-menu::after {
z-index: -2;
background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important;
border-radius: var(--toggle-roundness, 50%);
border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid;
}
#side-bar:focus-within .close-menu,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu {
pointer-events: none;
}
#side-bar:focus-within .close-menu::before,
#side-bar:focus-within .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar {
display: block;
position: fixed;
top: 0;
left: calc(var(--sidebar-width-on-desktop)*-1);
z-index: 10;
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
margin-top: 0;
}
#side-bar:focus-within {
left: 0;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover {
left: 0;
}
#side-bar .side-block {
margin-top: 1rem;
background-color: rgb(0, 0, 0, 0);
border-radius: 0;
border-left-width: 0px;
border-right-width: 0px;
}
#main-content::before {
content: "";
display: block;
position: fixed;
top: 0;
right: 0;
z-index: -1;
opacity: 0;
transition:
opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
margin-left: var(--sidebar-width-on-desktop);
background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat;
padding-right: 0;
width: 100%;
height: 100vh;
pointer-events: none;
z-index: 99;
}
#side-bar:focus-within ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
@supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar {
padding: inherit;
} }
#content-wrap {
display: flex;
flex-direction: row;
width: calc(100vw - (100vw - 100%));
min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem)));
flex-grow: 2;
height: auto;
position: relative;
margin: 0 auto;
max-width: inherit;
}
#main-content {
width: 100%;
position: initial;
max-height: 100%;
padding: 2rem 1rem;
max-width: var(--body-width-on-desktop, 45.75rem);
margin: 0 auto;
}
#page-content {
max-width: min(90vw, var(--body-width-on-desktop, 45.75rem));
}
@supports (-webkit-hyphens:none) {
#side-bar {
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
padding-right: 0;
background-color: rgb(0, 0, 0, 0);
pointer-events: all;
overflow-x: visible;
overflow-y: visible;
z-index: 999;
}
#side-bar::-webkit-scrollbar {
opacity: 0;
-webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
}
#side-bar .close-menu::before {
z-index: 999;
}
#side-bar .close-menu::after {
z-index: 998;
}
#side-bar:hover .close-menu::before,
#side-bar:hover .close-menu::after {
opacity: 0;
}
#side-bar:hover {
left: 0;
background-color: rgba(var(--swatch-menubg-color), 1);
padding-right: 0;
}
#side-bar:hover::-webkit-scrollbar {
opacity: 1;
}
#side-bar:hover~#main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
}
}
}
@supports(display: grid) {
:root {
--sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19);
--body-width-on-desktop: 45.75rem;
}
@media only screen and (min-width: 769px) {
#side-bar .close-menu {
display: block;
position: fixed;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
background: unset;
opacity: 1;
pointer-events: all;
z-index: -1;
}
#side-bar .close-menu img {
color: transparent;
}
#side-bar .close-menu::before,
#side-bar .close-menu::after {
content: "";
box-sizing: border-box;
position: fixed;
display: block;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
padding: 0;
margin: 0;
text-align: center;
pointer-events: all;
cursor: pointer;
transition:
opacity var(--sidebar-transition-timing);
}
#side-bar .close-menu::before {
--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E");
z-index: -1;
background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important;
-webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: 50% 50%;
mask-position: 50% 50%;
-webkit-mask-size: 60%;
mask-size: 60%;
}
#side-bar .close-menu::after {
z-index: -2;
background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important;
border-radius: var(--toggle-roundness, 50%);
border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid;
}
#side-bar:focus-within .close-menu,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu {
pointer-events: none;
}
#side-bar:focus-within .close-menu::before,
#side-bar:focus-within .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar {
display: block;
position: fixed;
top: 0;
left: calc(var(--sidebar-width-on-desktop)*-1);
z-index: 10;
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
margin-top: 0;
}
#side-bar:focus-within {
left: 0;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover {
left: 0;
}
#side-bar .side-block {
margin-top: 1rem;
background-color: rgb(0, 0, 0, 0);
border-radius: 0;
border-left-width: 0px;
border-right-width: 0px;
}
#main-content::before {
content: "";
display: block;
position: fixed;
top: 0;
right: 0;
z-index: -1;
opacity: 0;
transition:
opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
margin-left: var(--sidebar-width-on-desktop);
background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat;
padding-right: 0;
width: 100%;
height: 100vh;
pointer-events: none;
z-index: 99;
}
#side-bar:focus-within ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
@supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar {
padding: inherit;
} }
#content-wrap {
display: flex;
flex-direction: row;
width: calc(100vw - (100vw - 100%));
min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem)));
flex-grow: 2;
height: auto;
position: relative;
margin: 0 auto;
max-width: inherit;
}
#main-content {
width: 100%;
position: initial;
max-height: 100%;
padding: 2rem 1rem;
max-width: var(--body-width-on-desktop, 45.75rem);
margin: 0 auto;
}
#page-content {
max-width: min(90vw, var(--body-width-on-desktop, 45.75rem));
}
@supports (-webkit-hyphens:none) {
#side-bar {
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
padding-right: 0;
background-color: rgb(0, 0, 0, 0);
pointer-events: all;
overflow-x: visible;
overflow-y: visible;
z-index: 999;
}
#side-bar::-webkit-scrollbar {
opacity: 0;
-webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
}
#side-bar .close-menu::before {
z-index: 999;
}
#side-bar .close-menu::after {
z-index: 998;
}
#side-bar:hover .close-menu::before,
#side-bar:hover .close-menu::after {
opacity: 0;
}
#side-bar:hover {
left: 0;
background-color: rgba(var(--swatch-menubg-color), 1);
padding-right: 0;
}
#side-bar:hover::-webkit-scrollbar {
opacity: 1;
}
#side-bar:hover~#main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
}
}
}
:root {
/* header measurements */
--header-height-on-desktop: 10rem;
--header-height-on-mobile: 10rem;
--header-h1-font-size: clamp(2rem, 5vw, 2.8125rem);
--header-h2-font-size: clamp(0.875rem, 3vw, 0.9375rem);
--logo-image: url("https://nu-scptheme.github.io/Black-Highlighter/img/logo.svg");
}
#header {
--search-textbox-text-color: var(--swatch-secondary-color);
background: none;
}
#header::before {
content: " ";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0.75rem;
background-image: var(--logo-image);
background-repeat: no-repeat;
background-position: center 0;
background-size: auto calc(var(--header-height-on-desktop) - 1.5rem);
opacity: 0.8;
pointer-events: none;
}
#header h1,
#header h2 {
margin: 0;
padding: 0;
width: 100%;
height: var(--header-height-on-desktop);
display: flex;
align-items: center;
justify-content: center;
display: flex;
align-items: center;
justify-content: center;
}
#header h1 a,
#header h1 a::before,
#header h2 span,
#header h2 span::before {
margin: 0;
padding: 0;
z-index: 0;
display: block;
text-align: center;
}
#header h1 {
z-index: 1;
}
#header h1 a::before,
#header h1 a::after {
content: var(--header-title);
}
#header h1 a::before {
color: rgb(var(--swatch-text-tertiary-color));
z-index: -1;
-webkit-text-stroke: 0.325rem rgb(var(--swatch-text-dark));
}
#header h1 a::after {
color: rgb(var(--swatch-headerh1-color));
z-index: 1;
}
#header h2 {
z-index: 0;
text-transform: uppercase;
pointer-events: none;
}
#header h2 span {
margin-top: calc(var(--header-height-on-mobile)/2 + var(--header-h1-font-size)/2 - 2em);
}
#header h2 span::before,
#header h2 span::after {
--wght: 600;
content: var(--header-subtitle);
position: absolute;
left: 50%;
transform: translateY(-50%) translateX(-50%);
width: 100%;
text-align: center;
}
#header h2 span::before {
-webkit-text-stroke: 0.25rem rgb(var(--swatch-text-dark));
}
#header h2 span::after {
color: rgb(var(--swatch-headerh2-color));
z-index: 1;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
color: rgba(0, 0, 0, 0);
}
@media (min-width: 36rem) {
#login-status {
flex-grow: 1;
left: 3%;
right: initial;
}
#login-status::before {
--mask-image: none;
background-color: transparent;
}
#login-status:not(:focus-within) {
color: rgb(var(--login-line-divider-color));
-webkit-user-select: initial;
-moz-user-select: initial;
-ms-user-select: initial;
user-select: initial;
}
#login-status #account-topbutton,
#login-status:not(:focus-within) #account-topbutton {
--clip-path:
polygon( 0 0, 100% 0, 100% 100%, 0 100% );
background-color: rgba(var(--login-arrow-color), 0);
}
#login-status #account-topbutton::before{
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(var(--login-arrow-color), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton:hover::before {
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
}
#login-status:not(:focus-within) #account-topbutton::after {
display: none;
}
#login-status:not(:focus-within) *:not(#account-topbutton):not([href*="account/messages"]) {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
pointer-events: all;
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status:not(:focus-within) *:not(#account-topbutton):not(#account-options):not([href*="account/messages"]) {
opacity: 1;
}
#login-status #my-account {
--wght: 300;
}
#account-options {
background: var(--gradient-header);
}
#search-top-box {
top: 1.5em;
right: 3%;
background: rgba(var(--search-focus-textbox-bg-color), 0.4);
}
#search-top-box:focus-within ~ #login-status {
opacity: 1;
}
#search-top-box::after {
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
#search-top-box:not(:focus-within)::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0% 100%
);
background-color: rgba(var(--search-icon-bg-color, --dark-accent), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#search-top-box:not(:focus-within):hover::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
background-color: rgb(var(--search-icon-hover-bg-color));
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) {
max-width: var(--search-width);
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
max-width: var(--search-width);
padding: 0 var(--search-height) 0 1em;
outline-width: 0;
background-color: rgb(var(--search-focus-textbox-bg-color), 0.35);
color: rgba(var(--search-textbox-text-color), 0.4);
cursor: pointer;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="submit"],
#search-top-box form[id="search-top-box-form"]:focus-within input[type="submit"] {
pointer-events: all;
border: none;
}
}
#page-title::after,
.meta-title::after,
#page-title::before,
.meta-title::before {
content: "";
flex-grow: 1;
height: 0.0625rem;
background: rgb(var(--swatch-primary));
}
#page-title::before,
.meta-title::before {
margin: auto 1.25rem auto auto;
}