@@
[[/div]]
--timeScale slows down the entire animation by a factor of 2, and --timeDelay delays the starting point of the animation by half a second. Default values are 1 and 0s, respectively.
To change the default values, put the above after the [[include]]. --timeDelay is recommended if the ACS isn't the first content element, or you're using it in conjunction with other animation modules (a la component:fade-in.)
- Likely incompatible with other types of ACS headers*.
*To use with PeppersGhost's ACS Lite, add the following patch after the
[[include]]:
[[module CSS]]
/*-- ACS Lite Animation Compatibility Patch --*/
.anom-bar > .bottom-box::before { display: none; }
.anom-bar > .bottom-box { box-shadow: none!important; }
div.diamond-part { clip-path: none; animation: none; box-shadow: none!important; }
@media (max-width: 480px) {
div.top-right-box { clip-path: polygon(0% -30%, 100% -30%, 100% 130%, 0% 130%); }
}
[[/module]]
- Inspired by the works of AnAnomalousWriter.
[[/div]]
Source Code:
:root {
--timeScale: 1;
--timeDelay: 0s;
}
/* Converting middle divider from box-shadow to ::before pseudo-element */
.anom-bar > div.bottom-box { box-shadow: none; position: relative; }
.anom-bar > div.bottom-box::before {
position: absolute;
content: " ";
width: 100%;
height: 0.5rem;
bottom: 100%; left: 0;
background-color: rgb(var(--swatch-menubg-black-color, 12, 12, 12));
}
/* 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 > * {
white-space: nowrap;
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.65s * var(--timeScale));
animation-delay: calc(0.55s * 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;
}
.bottom-box > div.diamond-part {
box-shadow: none;
}
.bottom-box > div.diamond-part::before {
content: "";
position: absolute;
width: 0.5rem; height: 100%;
top: 0; right: 100%;
background-color: rgb(var(--swatch-menubg-black-color, 12, 12, 12));
animation-name: diamondBorder;
animation-duration: calc(0.475s * var(--timeScale));
animation-delay: calc(0.775s * var(--timeScale) + var(--timeDelay));
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.28,.72,.55,.91);
animation-fill-mode: backwards;
}
/* MOBILE QUERY */
@media (max-width: 480px ) {
.anom-bar > div.bottom-box { position: initial; }
.anom-bar > div.bottom-box::before { bottom: initial; top: 40vw; }
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 screen and (prefers-reduced-motion: reduce) {
div.anom-bar-container { --timeScale: 0!important; }
}
/*-------------------------*/
@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; width: 1%; }
to { opacity: 1; width: calc(100% - 0.25rem); }
}
@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 { height: 0; }
to { height: 100%; }
}
[[/iftags]]
[[include :scp-wiki-cn:component:anomaly-class-bar-source
|lang= cn
|item-number= cn-1422
|clearance= 2
|container-class= safe
|secondary-class=
|secondary-icon=
|disruption-class= vlam
|risk-class= 待观察
]]
特殊收容措施:SCP-CN-1422-1至SCP-CN-1422-120目前被存放在一本集邮册内,SCP-CN-1422-122则被储存在一个加密硬盘中,并与集邮册一同被存放于Site-CN-█的一个标准收容箱内。由于基金会所持有的实体样本的数量原因,使用该项目需要向站点主管递交一份正式申请(需写明用途)并获得三(3)名四级人员的同意,使用SCP-CN-1422-122则需向站点主管递交一份正式申请并获得批准。
若发现更多的SCP-CN-1422实体样本,新的样本需被存放在另一本集邮册内并与旧的样本分开存放。
描述:SCP-CN-1422是一些由中国邮政印刷的图案及印次均不同的80分生肖邮票,目前基金会持有121120张SCP-CN-1422实体样本及一段表现出相似性质的一段由未知语言编写的代码,实体样本被分别编号为SCP-CN-1422-1至SCP-CN-1422-120,电子样本被编号为SCP-CN-1422-122。
SCP-CN-1422的异常性质表现于,当一封贴有SCP-CN-1422实体样本的信件(此处被称为SCP-CN-1422-A)被放入任何体积大于该信件的空心不透明长方体
SCP-CN-1422-122的异常性质与SCP-CN-1422实体样本相似,区别在于SCP-CN-1422-122仅在电子邮件内容包含它(此处被称为SCP-CN-1422-B)时才会生效,并在发送后的10秒内会发送至收件方最常用的电子邮箱上。由于SCP-CN-1422-B详情页的“拒收”和“删除”或有相似功能的按键被隐藏,导致收件方无法拒收或删除SCP-CN-1422-B。任何已知手段恢复按键的尝试均失败。其余异常性质与SCP-CN-1422-A无区别。
SCP-CN-1422-A和SCP-CN-1422-B指定的收件方似乎不受限制。当收件方被指定为虚拟人物或因其他原因而无法用常规方式交流的实体时,则寄信方会在寄出SCP-CN-1422-A或SCP-CN-1422-B后的60天内收到来自收信方的回信。回信会以两种形式不同的呈现,分别为实体信件和电子邮件,具体形式似乎取决于收件方所处时代的科技水平。实体回信总是贴有一张SCP-CN-1422实体样本,电子邮件则会在内容末尾包含SCP-CN-1422-122。收到的实体回信被认为是SCP-CN-1422-A,电子邮件则被认为是SCP-CN-1422-B。目前尚不清楚回信是由收信方撰写还是人为编造。
SCP-CN-1422最初被发现于一封以异常方式出现在初级研究员ICD的办公桌上的SCP-CN-1422-A,其内容包含121张SCP-CN-1422样本(包括信封上的样本)。121张SCP-CN-1422样本被回收,信封在没有检查出异常后归还给了初级研究员ICD。
SCP-CN-1422-122发现记录见实验记录CN-1422-SL-4。
附录CN-1422-SL:实验记录
■ 点击查看
提醒所有研究人员:请按照样板攥写实验记录,寄信方请填上你的姓名以及职位。为避免丢失样本,对过去时间的实体寄信需使用实体样本,收到回信后应将获得的实体样本存放在集邮册内。有丢失样本风险的实验应获得站点主管及其他四名四级人员的同意。
以下为实验记录样板:
实验记录[实验编号]
前言(可选):
寄信方:
收信方:
大致内容:
使用样本编号:
寄出日期:
回信收到日期:
回信大致内容:
备注(可选):
——██博士
实验记录CN-1422-SL-1
寄信方:初级研究员ICD
收信方:初级研究员ICD
大致内容:这是在测试。
使用样本编号:SCP-CN-1422-1
寄出日期:24/7/2021
收到日期:25/7/2021
备注:安全摄像头观察到初级研究员ICD的办公桌上没有任何物品,直到收到前一分钟办公桌被旁边的研究员██遮挡,随后SCP-CN-1422-A出现在研究员ICD的办公桌上,确认为寄出的那一封。实验中所使用的样本已归还。
有点意思,我倒想知道如果它的收件人出了点状况会怎么样。——初级研究员ICD
别骂自己,ICD。——研究员██
实验记录CN-1422-SL-2
寄信方:初级研究员ICD
收信方:D-84457(对象于2021/4/1在SCP-CN-███的测试中死亡)
大致内容:询问D-84457当前的状态。
使用样本编号:SCP-CN-1422-1
寄出日期:26/7/2021
回信收到日期:12/8/2021
回信大致内容:对象D-84457表示自己过得很不好,并以极其厌恶的语气表示他不想再被SCP-CN-███给[已编辑]死。
备注:回信中获得的SCP-CN-1422样本已替代实验中消耗的样本。
事实证明给死亡的实体送信确实可以,或许我们可以试试别的状况?——初级研究员ICD
实验记录CN-1422-SL-3
寄信方:初级研究员ICD
收信方:D-163959(对象被置于一封闭房间内。为保证对象存活,对其提供了约15天的氧气及半个月的美军军粮。房间被无线摄像头监控)
大致内容:打开房间气锁门的方法
使用样本编号:SCP-CN-1422-121
寄出日期:16/8/2021
收到日期:24/8/2021
备注:安全摄像头观察到D-163959在前几天表现较为焦虑。2021/8/24上午8:26:24观察到对象突然跑向房间的左下角。对象转身时可清晰地观察到对象正在阅读SCP-CN-1422-A内容以及房间角落被撕开的空信封。24分钟后对象打开了气锁门并自行离开房间。后来在对D-163959的采访中D-163959声称其在房间角落发现了SCP-CN-1422-A。实验中所使用的样本已归还。
不错的结果…而且这个结果和我第一次实验一模一样…至少我们可以知道它无论如何也会让他们收到信了......——初级研究员ICD
实验记录CN-1422-SL-4
寄信方:初级研究员ICD
收信方:树状图设计者
大致内容:简单的问候及一个存放有动漫《とある科学█████》原声版的16GB可移动磁盘
使用样本编号:SCP-CN-1422-121
寄出日期:2/9/2021
回信收到日期:7/10/2021
回信大致内容:一段无任何意义的乱码SCP-CN-1422-122
备注:本次实验未经授权。初级研究员ICD受到了纪律处分并调离了Site-CN-█。此后已对剩余的SCP-CN-1422样本进行了更为严格的管理。
看来树状图设计者大概确实是损毁了。——初级研究员ICD
[脏话删除]真的受够了新人捅出来的幺蛾子了,[脏话删除]。另外她用拿一张邮票就换来这串鬼玩意??——███博士
实验记录CN-1422-SL-5
前言:本次实验为测试实验记录CN-1422-SL-4中获取的HTML编码(已获O5-CN-█批准)
自从ICD搞来那段乱码之后我就一直在思考它的含义,这次总算能试了。——███博士
寄信方:███博士的手机(未联网)
收信方:███博士的电脑(未联网)
大致内容:一张PNG格式文件,内容为一个水杯花盆,以及实验记录CN-1422-SL-4中获得的乱码
使用样本编号:无
寄出日期:2022/1/15 上午11:14:57
收到日期:2022/1/15 上午11:15:04
[多余记录删除]
备注:经过█次测试,在发送电子邮件时若内容包含实验记录CN-1422-SL-4中获得的乱码,则收件方的设备无论如何都会收到该电子邮件。获得的乱码被认为是电子版本的SCP-CN-1422样本,并将其编号为SCP-CN-1422-122。经O5-CN-█的批准,初级研究员ICD被调回了Site-CN-█并恢复其原有权限等级。
我还有个想法,要不寄十几张呱太的图片给[已编辑]?——初级研究员ICD
得了吧,ICD,你应该感到庆幸。不过这几次实验倒是能让我们跟别的叙事层的家伙沟通轻松点了。——███博士
实验记录CN-1422-SL-6
寄信方:客座研究员███博士
收信方:混沌分裂者指挥官
大致内容:一(1)张视觉抹杀模因图片
使用样本编号:SCP-CN-1422-3
寄出日期:无
回信收到日期:无
回信大致内容:无
备注:本次实验被███博士驳回
这样做的风险太大了——他们对这封来路不明的信绝对会有所警惕,并且他们要是回头把它寄回去或寄给其他人…这绝对不行,毕竟在他们手上的异常已经够多了。——███博士
[仅展示部分实验记录,更多实验记录请参阅[https://scp-wiki-cn.wikidot.com/cn-1422-sl 额外记录]]
1. 譬如信箱,抽屉,纸箱,方形存钱罐,衣柜,电梯轿厢,牛奶盒,散装汽油桶,台式电脑机箱等。2. 动漫《とある魔術の禁書目録》及其外传《とある科学の超電磁砲》中的超级计算机,后被证实损毁。






