
SCP-1994-2的早期,图像来自Dr.Yelkov的医学日志。
项目编号:SCP-1994
项目等级:Keter
特殊收容措施:
- 所有从SCP-1994-1处回收的单位需被收容于Site-93的顶级安保收容室中,SCP-1994-1当前被认为未被收容的1。
- 任何从SCP-1994-2处回收的个体需被收容于Site-93的顶级安保收容室中,该收容室内配备高容量空气净化系统,且需两周更换一次,个人不论以任何理由进入收容隔间必须按规定穿戴防护衣,以防止可能的污染。
- 从SCP-1994-3处回收的个体残骸需被控制在Site-93的高级人形收容隔间中,任何发现的SCP-1994-3个体将被转移至Site-93以收容和观察,若有必要,应准备生命支持系统以防止SCP-1994-3个体死亡。该收容隔间内配备高容量空气净化系统,且需两周更换一次,个人不论以任何理由进入收容隔间必须按规定穿戴危险物质装置,以防止可能的污染。
- 此外,位于并环绕莫斯科的基金会监视系统正持续搜索SCP-1994爆发的迹象,机动特遣队Tau-13“Oral Report”(口腔报告)接受任命并被训练控制其爆发,以及协助恢复与Dr.Rasmin Yelkov相关的附加信息。
描述:SCP-1994是发现于Dr. Rasmin Yelkov的牙科研究室中的一组现象的总称。
笔记:下方通信内容被回收于Dr. Yelkov的研究室中,翻译自俄语。
Dr. Yelkov:
祝福你,同志,希望你已经收到我早先关于手头工作的信件。如果你还没有收到信件,或者还没有与Dmitri交流,请允许我说明我的意图。
我的服务主要只提供给最富有的顾客,在过去的十五年中,我的工作标准被认为是莫斯科美容牙科的榜样,我的顾客们对我能够提供给他们的服务质量十分赞赏,并对我在牙冠中使用的金属,架桥工作的稳定,陶瓷的清洁非常满意。你一定意识到了这一点。
然而,最近几个月,一群顾客开始对材料的外观流露不满,他们对我说:“Dr.Grigori,你的服务质量毫无疑问,我们只是认为你需要提高你处理所用材料的品质。是的,复合材料和陶瓷很漂亮,但它们并不完美。我们需要完美。”
你可以理解,我为此变得多么沮丧。我骄傲的并不仅仅是我的工作本身,还有我使用的昂贵的材料,可是,我却不能使我的顾客们满意,即使我将陶瓷抛光得像太阳一样耀眼,也无法令它们与上帝创造的自然美相配。于是我决定,接下来我将尝试从未有医生在我之前做过的,使用人类的牙齿。
我立刻遇到的问题就是这么做的实用性。莫斯科许多大街上的穷人都乐意用他们的牙齿来换我的鞋底或是一碗粥,但那些牙齿不行。它们通常大面积腐烂,畸形,或多或少的破碎。它们是人类牙齿,没错,但不是我的顾客想要的。
所以我现在找到了你。Dmitri对我讲述了你的努力,你在实验室中创造的奇迹。没有任何资料可供参考,但时间极其重要。我担心我的顾客会很快找到另一个声称能和我做同样事情的人,当然,那是不可能的,但让外行来看,谁又会说不可能呢?
我等待你的回信,我需要牙齿,Yelkov,我祈祷你能够给我提供它们。
一切顺利。
Grigori
- SCP-1994-1是Dr. Yelkov于1958研发的一种血清,对回收的SCP-1994-1进行的化学分析产生了相互矛盾的结果,某些样品含有更高水平的单氟磷酸钠,另一些则含有高水平六氟硅酸,以及其他非特异性化学成分。忽略其化学组成,SCP-1994-1似乎旨在刺激上颌和下颌牙齿结构生长,使其范围超出口腔环境(见文件1994-1)。
- SCP-1994-2是一种类似人类牙齿的钙化结构,由于使用SCP-1994-1的结果,其在人体上的生长范围已超出口腔环境,尽管其外表与人类牙齿无异,但相比而言缺少许多基本结构。SCP-1994-2不具备牙质层及牙髓组织,相反的,似乎是一块固体釉质,值得注意的是,SCP-1994-2极易被腐蚀(见文件1994-4),其腐烂后将释放一种细小的白色粉末2感染吸入者。

SCP-1994-2出现在角质组织上,图像来自Dr.Yelkov的医学日志。
- SCP-1994-3是一些被注射了SCP-1994-1或暴露于SCP-1994-2产生粉末中的个体,这些注射的目的被详细记录在Dr. Yelkov的私人日志中(见文件1994-2),对象暴露于SCP-1994-1后的感染症状将经历五个阶段:
1)暴露初期:对象通过注射方式暴露于SCP-1994-1,或吸入SCP-1994-2产生的微粒,大约两周时间内,对象不会表现出感染迹象,在这期间,对象(SCP-1994-3)将经受内部细胞的生理变化,整个身体的不同位置开始出现钙沉积,细胞结构将专注于免疫反应及身体保养,慢慢开始“重组”,使系统能够集合生长釉质的必要成分。
2)爆发:在皮肤层下生长平均两周后,SCP-1994-2将首次从因其生长而破裂的皮肤中出现,包裹在囊肿当中,这些“痘”最初只在四肢出现,之后将逐渐扩散至其他部位,如头部,脖颈,后背,腹股沟等。对象在这些个体被触碰时感到痛苦,并拒绝任何从他们身上移除SCP-1994-2的企图3,SCP-1994-2的生长和扩散将导致对象新陈代谢水平下降。
3)囊肿成熟:最初接触约五周后,含有SCP-1994-2的囊肿将爆裂并露出一颗成人牙齿。一旦如此,这些牙齿将永久附着在SCP-1994-3的皮肤组织上,且只能通过外科手术4移除。此外,该阶段认定标志为爆发部位快速扩张,随着越来越多的SCP-1994-2个体成熟,囊肿将很快覆盖对象的四肢,并开始出现在软组织,如口腔上颚、内耳、肛门及阴道口、眼球组织等。
4)腐烂:经过平均八周的成熟期后,SCP-1994-3全身将被一层SCP-1994-2覆盖。然而,完全成熟5后不久,所有表面上的SCP-1994-2将开始快速衰落病变。这些个体未暴露于通常造成这种病变的酸性口腔细菌之中,因此其持续腐烂的原因当前是未知的。SCP-1994-2的完全腐烂6是极迅速的,往往不超过衰落迹象出现后的七天。在此期间,SCP-1994-2将释放一种细小的白色粉末并在空气中逗留,其影响效果已在前文说明,传统的空气擦洗已被证明可有效地将该粉末从空气中清除。
5)死亡:一个SCP-1994-2自然产生并成熟的周期之后,SCP-1994-3的身体将被腐烂物完全覆盖,对象将很快终止活动。由于大量腐烂物质覆盖身体,免疫系统削弱状态,无法通过任何方式(通过皮肤或嘴)摄取营养,对象总是在衰落开始大约两周内死亡。SCP-1994-3的尸体需被焚烧,以消除空气中残存的SCP-1994-2生成颗粒。
发现过程:1959年,全部SCP-1994在基金会特工与GRU部门“P”的共同努力下于苏联被找到。收容时共发现了九名SCP-1994-3个体,其中七名已因其先前的病情死亡,剩余两名仍处于腐烂活跃期。Dr. Yelkov下落不明,但仍回收到了其遗留下的大部分笔记和日志。
由于本次突袭,5名基金会特工和3名GRU-P操作员暴露在SCP-1994-2空气传播的粉末当中,一旦SCP-1994的影响开始显现,这些人员将被指定为SCP-1994-3并于Site-93接受测试。
对回收到材料的分类研究显然表明,许多SCP-1994-2和SCP-1994-1个体已被转移至未知地点。
研究笔记及文件:以下文件被回收于基金会特工突袭Dr.Yelkov的实验室时。
文件1994-1:Dr. Rasmin Yelkov的私人日志
以下内容摘录自Dr. Rasmin Yelkov的日志,为简洁及删除机密信息起见,这些内容都经过了编辑。
03/15/56
我作为牙科手术博士以来的这么多年,从未像今天这样有过一个如此的任务被摆放在我的面前。一位同志,Dr. Grigori请求我寻找一种制作完美人类牙齿样本的方法。不是那来自于尸体的牙齿,或者在这种程序中通常利用的擦亮的陶瓷,而是真正的人类牙齿。我可以创造许多杰作,但从没有过像这样的挑战,这本日志将见证我伟大的胜利,或是悲惨的失败。无论如何,我无法忽视前方的道路。
05/10/56
我今天与一位向我请教的新西伯利亚同行交谈,他提到我或许该去寻找一位声称与“牙仙”关系亲切的无名者,我的消息来源从未提及这位无名者,但有线索就是线索,我将去东部旅行,希望能找到这个人并和他商量一些手头的事情。
06/02/56
多么令人震惊的一天,我发现,在我的身边的世界上真的有着魔法,那个小精灵真的存在。
今天我的同行带领我见到了那位无名者,我们坐下来并长谈了口服药物的相关事项,凑巧的是,他说他曾在战争期间开办了一家诊所,为治疗那些毁容了的同志,他开始求助于魔法。他说他在沿着一条大路旅行的时候遇见了精灵,并设法捕捉到了一只。那个小精灵,他将它称为“伊莎贝拉”,协助医生学习精灵的语言,成为他的私人助手。通过伊莎贝拉,医生得知了这些精灵的本性,它们如何从人类骨头中抽出釉质,以及它们如何将这些釉质作为营养的来源。
可以理解的是,我对这些说法相当怀疑,并且对这位同行提出的狂热建议不太习惯。我询问他是否有精灵存在的证据,接着他将我带到了他的诊所。
一进门,我看到了不少于五十只小精灵,与这个无名者共同居住,他说他有条不紊地借助它们的援助,以更好的理解口腔环境并进一步研究这种疾病,‘真是个奇迹。’我心说,‘这个人告诉了我一种让我可以攀登医学传奇的方式。’当然,利用这些小精灵能使我满足Dr. Grigori的请求。
那人给我一个房间过夜,明天我们将学习这些生物的更多秘密。
06/03/56
我杀了那个人。他拒绝我想购买一些精灵进行个人研究的请求,他拒绝我使用它们的力量。他说,这些神秘生物应当是受人尊敬的。不幸的是,我既没有时间也没有耐心去考虑它们的故事了。我举起了我的武器,将一颗子弹射入了他的心脏,然后收集了不少于30件标本。等我回到自己的实验室之后,我会将我对这些小精灵的研究记入这本日记当中。
10/19/56

从Dr. Yelkov的文件中回收到的图像,有大量火焰焚烧迹象。
名称:104——“牙仙”
体长:6.35cm
体重:0.08g
体色:黑/白
外观:从视觉方面观测为常见的普通蝴蝶,外观似乎呈现出不一致性,无论如何,其仅在中和时达到完全稳定,且在这种状态下更容易被控制。进一步观察显示对象具有多处人类特征(手臂,腿和脚,一张简单的脸)。
神秘性质:能够寄居在人类消化道中并创造人类牙齿,包括所有基本结构,但通常对宿主致命[笔记:测试前必须解决此问题],持久性与小型生物相同,高度耐痛,易死亡,无确切尸检结果,塑造牙齿的方式当前未知,这种原理的关键可能是氟化钠的参与。
结论:样本含有几种能够使口腔环境发生反应未知化学成分,将对这些成分隔离以供进一步研究,不同于先前的16个样本,该个体没有在最初切割后立刻死亡。
11/20/56
我相信我完成了。了解到104的异常生理性质是由单氟磷酸钠和六氟硅酸相互作用产生的之后,我已经能够使一种常见的真菌复制精灵的影响。这是非凡的进展,但不是最终成果,真菌无法产生形成真正的人类牙齿所需的钙质,但这对我所要求的全面增长是有价值的。我相信年底我可以制造一种血清并开始人体实验。
文件1994-2:人体实验001
编号:001
年龄:8岁
身高:131cm
体重:30kg
性别:女
前言:从莫斯科的一个贫民窟中回收,健康状况一般,普通感冒对实验结果没有影响,没有必要注射镇静剂。
实验记录:始于01/13/57
血清:#001
第一天:患者被固定在实验设备中并注射了20毫升#001,无明显变化。
第二天:无明显变化。
第四天:无明显变化。
第七天:患者因腹部疼痛而抱怨,无明显变化。
第十一天:患者呼吸急促并抱怨腹部疼痛,偶尔失去意识,X光表明其肺部左下方出现大量团块。
第十三天:患者死亡。
尸检报告:从患者左下腹提取出了一个大钙化块,这是导致其内部大出血而死亡的原因。
结论:此次实验取得了重要数据,很明显已可以操控人类细胞组织使其产生类牙釉质,现在的任务是塑造这些组织。
文件1994-3:人体实验004

从文件1994-3中回收的图像。
编号:004
年龄:28岁
身高:183cm
体重:108kg
性别:男
前言:回收自陆军医疗病房,在战争中失去了大部分右臂,健康状况良好,运输过程中注射了大量镇静剂。
实验记录:始于05/27/57
血清:#012
第一天:患者被固定在实验设备中并注射了20毫升#012,产生了敌意,无明显变化。
第三天:患者企图逃脱实验设备,被注射以镇静剂,若再次有此尝试将考虑进行前脑叶白质切除术。
第八天:皮肤下方开始出现囊肿,患者抱怨疼痛和发痒,皮肤样本被取下,X光预测其四肢将出现钙化物质。
第十五天:囊肿在皮肤上破裂,控制了出血,患者不再对询问进行回应,下方是谈话记录。
谈话记录:患者004
Y:你能否描述一下感受?
P:我操你妈。
Y:能否指出不适的区域?
P:我操你妈。
Y:你知不知道你这么做只会让你的处境更加困难?
P:……
Y:很好。现在,现在囊肿已经生长到了你的眼部,能否告诉我你是从什么时候开始感到此处疼痛的?
记录结束
第二十五天:囊肿开始裸露,早于预期,外部感染变得难以控制,患者的免疫系统严重削弱,实验设备被移动到干净房间,患者不再对询问和检查做出回应。
第二十九天:患者死亡。
尸检报告:患者因呼吸系统完全崩溃死亡,某些内脏呈现出完全衰退迹象,可能是由某些无关原因造成,能够从患者身上提取到一些未完全成型的牙齿样本,但它们还不适合在这个项目中使用,幸运的是,在早期测试中我获得了先进经验以迅速进步,需对血清进行微调。
文件1994-4:人体实验019
编号:019
年龄:16岁
身高:164cm
体重:63kg
性别:女
前言:美国商人Kyle Schrader的女儿,按要求没有家族遗传病史或基因变异,总计花费260万美元,由Dr. Grigori支付,患者健康状况良好,没有疾病迹象,理想测试者。
实验记录:始于09/15/58
血清:#113
第一天:患者被固定在实验设备中并注射了20毫升#113,镇静剂失效多天之后仍无反应。
第九天:患者抱怨皮肤层下感觉异样,X光显示沿对象的双臂,双腿,脊椎形成了预期的钙质沉积。
第十四天:囊肿开始突破皮肤,患者不再对询问和检查做出回应,由于镇静剂可能对血清效果产生负面影响,不再为对象注射镇静剂。
第二十三天:患者全身出现整齐排列的囊肿,延伸至头颈,肛门周围的软组织上同样观察到有囊肿成型。
第二十四天:患者出现心脏骤停,但随后复苏,由于其心理状态脆弱,进行了前脑叶白质切除术以防止发生意外事故。
第三十天:患者约87%的皮肤被囊肿覆盖,无一破裂,X光显示所有牙齿结构都正在按计划生长。
第三十六天:今天我取得了巨大的成功!第一个囊肿破裂并露出了一颗完美的人类牙齿样本,需经手术从患者身上取下,但术后的感染防治措施会降低免疫削弱的机会,我将按照Dr. Grigori和他同事的要求为别的患者注射血清。
结论:#113实验六周之后,患者状态稳定,情况良好,提取的牙齿样本被送至Dr. Grigori及其他七名牙科专家处检查,最终结果将在赞助者同意后公开。
文件1994-5:未标明日期的记录

从文件1994-5中回收的图像。
看样子我夹杂着真菌元素的早期样本未与最新血清中精灵的异常生理结构充分作用,虽然牙齿在人体上的生长完全如我预期般进展,但现在其表面开始快速出现大面积龋齿并转向腐烂。此外,它们似乎可以传播这种腐烂,在一处开放性衰败处,我看到了一些白色粉末状烟雾,虽然到现在为止我还能够在这种异常性质中保护我自己,但我无法为020、021、023、025做同样的事情,尽管没有注射#113血清,但他们都已经出现了囊肿增长的迹象。
显然这只是一个小小的挫折,我将在另一处设施继续我的研究,这是个折中方案。说句题外话,我没有从Dr. Grigori那里收到回信,所以我只好假设他对我寄给他的样本感到满意,我想这是这个计划目前最主要的成就。
@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; }