SCP-CN-4000竞赛 状态追踪

源页面
2022年8月1日
修订 355

核心指标

更新于 2025年11月6日
评分
244
↑ 248
↓ 4
支持率
98%
总票数 252
Wilson 95% 下界
96.0%
在相同票数下更稳健的支持率估计
争议指数
0.063

评分趋势

按周聚合
加载图表中...

最近修订

1 / 119
编辑内容
2 天前
我是啥b
编辑内容
2 天前
开赛前最后更新
编辑内容
2 天前

最近投票

1 / 26
2025-11-06
2025-11-04
2025-11-04
2025-11-04
2025-11-03
2025-11-03
2025-11-03
2025-11-03
2025-11-03
2025-11-03

页面源码

源码字符数 21241文字字数 2802
[[include :scp-wiki-cn:theme:mox |admo=* |d=* |disableFooterInvert=*]]

[[module CSS]]
@import url("https://fontsapi.zeoseven.com/778/main/result.css");

@import url("https://oxygennine.wikidot.com/css-cn4kpageresult/code/1");

@font-face {
    font-family: "Altinn-DIN";
    src: url("https://fontsapi.zeoseven.com/ck/main.woff2") format('woff2'),
        url("https://fontsapi-storage.zeoseven.com/ck/main.woff2") format('woff2');
    font-display: swap;
}

@font-face {
    font-family: "Alata";
    src: url("https://fontsapi.zeoseven.com/gc/main.woff2") format('woff2'),
        url("https://fontsapi-storage.zeoseven.com/gc/main.woff2") format('woff2');
    font-display: swap;
}

@import url("https://fontsapi.zeoseven.com/285/main/result.css");


:root {
    --mox-theme-color: #405bcf;
    --mox-theme-dark-color: #403c98;
    --mox-theme-light-color: #4769c5;
    --mox-bg-color: #000000;
    --mox-text-color: #b6b6b6;
    --mox-layer-dark-1: #cfcfcf;
    --mox-layer-dark-2: #969696;
    --mox-layer-dark-3: #717171;
    --mox-layer-light-1: #000000;
    --mox-layer-light-2: #141414;
    --mox-layer-light-3: #232323;
    --mox-bgblur-front-color: rgb(0 0 0 / 78%);
    --mox-page-width: 100vw;

    --mox-header-title: "SCP中文分部";
    --mox-header-subtitle: "控制,收容,保护";
    --mox-header-logo: url('https://scpsandboxcn.wikidot.com/local--files/oxygen9-files/scpcn.svg');

    --cn4k-title-font: "USMCC Stellar Gothic";
}

:root {
    counter-reset: con-sumup 0 con-votes 0 con-words 0 con-revs 0 con-pages 0 con-comments 0 con-sumup 0 con-votes 0 con-words 0 con-revs 0 con-pages 0 con-comments 0;
}

div#page-title,
div#breadcrumbs,
div#side-bar::before {
    display: none;
}

#page-content {
    margin-top: -3rem;
}

.section {
    width: 100%;
    height: 100vh;
}

.page-flow {
    width: 100%;
}

.s4kbg.section>img.image {
    width: 100%;
    display: block;
    clip-path: polygon(0 0, 100% 0%, 100% 81%, 0 81%);
    position: absolute;
    z-index: -1;
}

.s4kbg-content :is(p, br) {
    display: contents;
}

span.s4ktitle {
    font-size: 3rem;
    font-weight: bold;
    line-height: 3rem;
    vertical-align: baseline;
    white-space: nowrap;
}

.s4kbg-content {
    width: auto;
    display: flex;
    top: calc(70vh - 7rem);
    position: relative;
    justify-content: space-between;
    padding: 0rem 5rem;
    flex-wrap: wrap;
}

span.s4ktitle.left {
    font-family: "Alata";
}

.scroller {
    background: url(https://scpsandboxcn.wikidot.com/local--files/oxygen9-files-2/cn4k-scroller.svg) repeat-x;
    width: 100%;
    height: 2rem;
    background-size: auto 1.8rem;
    background-position: 0rem 0rem;
    animation: scroll 5s linear infinite;
}

@keyframes scroll {
    0% {
        background-position: 0rem 0rem;
    }

    0% {
        background-position: -59rem 0rem;
    }
}

.section-content {
    margin: 4rem auto;
    width: calc(100% - 4rem);
}

span.hr {
    display: flex;
    align-items: center;
}

span.hr::before {
    content: '';
    display: block;
    width: 4rem;
    height: 0.3rem;
    background-color: var(--mox-layer-light-2);
    margin-right: 1rem;
}

span.hr::after {
    content: '';
    display: block;
    width: -webkit-fill-available;
    background-color: var(--mox-layer-light-2);
    margin-left: 1rem;
    height: 0.3rem;
}

.page-tags,
div#page-options-container {
    max-width: 40rem;
    margin: 0 auto;
}

.card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.card-container>br {
    display: none;
}

.card {
    padding: 1rem 2rem;
    width: calc(50% - 8rem);
    background-image: linear-gradient(-156deg, #111111, #000000);
    margin: 2rem 0rem;
}

span.s4ksubtitle {
    font-weight: bold;
    font-size: 2rem;
}

span.b-date {
    font-family: 'Altinn-DIN';
    font-size: 4rem;
    margin-top: 2rem;
    display: block;
}

.card.progress {
    width: calc(100% - 8rem);
}

.card.tri {
    width: calc(33% - 5rem);
}

.cn4k-single :is(p, br) {
    display: contents;
}

.cn4k-single {
    width: 100%;
    display: grid;
    grid-template-columns: 4rem 3rem 9rem 1fr 1fr;
    margin-top: 0rem;
    line-height: 1.95rem;
    vertical-align: baseline;
    border-bottom: solid 0.1rem var(--mox-layer-light-2);
}

div.cn4k-single:hover {
    background: var(--mox-layer-light-2);
}

span.cn4k-index {
    font-weight: bold;
    font-family: 'Alata';
    padding-left: 0.8rem;
    font-size: 1rem;
}

span.cn4k-rating {
    font-size: 1rem;
    font-family: 'Altinn-DIN';
}

span.cn4k-votes {
    font-family: 'Oxygen Mono';
    font-size: 0.6rem;
}

span.cn4k-created-by {
    font-family: 'Alata';
    text-transform: uppercase;
}

span.cn4k-created-by:first-letter {
    font-size: 125%;
}

span.cn4k-title {
    text-align: right;
    padding-right: 2rem;
}

div.cn4k-single:hover span.cn4k-data {
    opacity: 1;
    transform: translateX(0rem);
}

span.cn4k-data {
    position: fixed;
    background: var(--mox-layer-light-3);
    padding: 0.2rem 1rem;
    left: 0%;
    opacity: 0;
    transform: translateX(-2rem);
    transition: opacity 0.25s, transform 0.25s;
    display: block;
    bottom: 1rem;
    pointer-events: none;
}

span.cn4k-preview {
    display: block;
    max-width: 30rem;
    border-left: solid 2px #ccc;
    padding: 0.1rem 0.1rem 0.1rem 1rem;
    margin: 0.1rem 0.5rem;
    font-style: italic;
}

.s4kbg-content-2 {
    width: 100%;
    padding: 1rem 0rem;
    text-align: left;
}

@media screen and (max-height: 700px) {
    .s4kbg-content {
        top: calc(45vh - 7rem);
    }
}

@media screen and (max-width: 400px) {

    span.results {
        display: block;
        text-align: right;
    }
}

@media screen and (max-width: 876px) {

    #page-content {
        padding: 0rem;
    }

    .s4kbg.section>img.image {
        scale: 2.2;
        transform: translateY(calc(20% + 5rem));
    }

    .s4kbg-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        top: calc(80vh - 22rem) !important;
        text-shadow: 0 0 10px BLACK;
        padding: 0;
    }

    .section-content {
        width: 100%;
    }

    .card.progress {
        width: 100%;
    }

    .card.tri {
        width: 80%;
        display: flex;
    }

    .card.tri :is(p, br) {
        display: contents;
    }

    .card.tri {
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0.6rem auto;
    }

    span.b-date {
        margin-top: 0.8rem;
        font-size: 2.5rem;
    }

    .cn4k-single {
        grid-template-areas:
            'index rating votes author'
            'title title title title';
        grid-template-columns: 3rem 3rem 1fr;
    }

    .cn4k-single :is(p, br) {
        display: contents;
    }

    span.cn4k-index {
        grid-area: index;
    }

    span.cn4k-rating {
        grid-area: rating;
    }

    span.cn4k-created-by {
        grid-area: author;
        padding-right: 0.5rem;
        text-align: right;
    }

    span.cn4k-title {
        display: block;
        grid-area: title;
        padding: 0rem 0.5rem 0rem 0rem;
    }

    .s4kbg-content-2 {
        width: 80%;
        padding: 1rem 0rem;
        text-align: center;
    }

}

.s4kbg-content-2 :is(p,br) {
    display: block;
}

span.cn4kbutton:hover {
    background: var(--mox-theme-color);
    border-color: var(--mox-theme-light-color);
    box-shadow: 0px 0px 10px #0044ffc9;
    font-weight: bold;
}

span.cn4kbutton {
    display: inline-flex;
    background: var(--mox-layer-light-2);
    padding: 0.6rem 0.6rem;
    transition: all 0.25s;
    border-radius: 0.4rem;
    border: solid 0.1rem var(--mox-layer-light-3);
    cursor: pointer;
    align-items: center;
    font-family: "Alata", "Noto Sans SC", sans-serif;
}

span.cn4kbutton:first-child {
    margin-right: 1.5rem;
}

#main-content span.cn4kbutton a:not(.btn) {
    color: var(--mox-layer-dark-1);
    box-shadow: none !important;
}

span.cn4kbutton.go::before, span.cn4kbutton.scpper::before {
    content: '';
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.5rem;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

span.cn4kbutton.go::before {
    background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktYXJyb3ctcmlnaHQtY2lyY2xlIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgOGE3IDcgMCAxIDAgMTQgMEE3IDcgMCAwIDAgMSA4em0xNSAwQTggOCAwIDEgMSAwIDhhOCA4IDAgMCAxIDE2IDB6TTQuNSA3LjVhLjUuNSAwIDAgMCAwIDFoNS43OTNsLTIuMTQ3IDIuMTQ2YS41LjUgMCAwIDAgLjcwOC43MDhsMy0zYS41LjUgMCAwIDAgMC0uNzA4bC0zLTNhLjUuNSAwIDEgMC0uNzA4LjcwOEwxMC4yOTMgNy41SDQuNXoiLz4KPC9zdmc+");
    filter: invert(1);
}

span.cn4kbutton.scpper::before {
    background-image: url(https://scpsandboxcn.wikidot.com/local--files/oxygen9-files-2/scppercn.svg);
    filter: invert(1);
}

span.cn1kresult::after {
    background: #273940;
}

span.cn2kresult::after {
    background: #4c2525;
}

span.cn3kresult::after {
    background: #46371f;
}

span.cn1kresult::after, span.cn2kresult::after, span.cn3kresult::after {
    display: inline-block;
    font-size: 0.9rem;
    padding: 0.2rem 0.2rem;
    font-family: 'Altinn-DIN';
    height: 1rem;
    line-height: 1.2rem;
    margin-left: 0.2rem;
    border-radius: 0.35rem;
}

span.label:first-child {
    margin-top: 3rem;
}

span.label {
    margin: 0rem 2rem 0rem 2rem;
    display: block;
}

span.cn4k-created-by img {
    display: none;
}

span.cn4k-created-by[data-created-by="(user deleted)"]:first-letter {
    font-size: unset;
}

span.cn4k-created-by span.printuser.deleted {
    font-size: 0;
}

span.cn4k-created-by span.printuser.deleted::before {
    content: '账号已删除';
    font-size: 0.9rem;
    background: var(--mox-layer-dark-1);
    color: var(--mox-layer-light-3);
    padding: 0.1rem 0.3rem;
    display: inline-block;
    line-height: 1.2rem;
    font-weight: bold;
    border-radius: 0.2rem;
    vertical-align: middle;
}

span.cn4k-created-by[data-created-by="(user deleted)"] span.results {
    display: none;
}

@media screen and (min-width: 876px) {

.content-2-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

}


[[/module]]

[[div class="s4kbg section"]]

[[image https://scpsandboxcn.wikidot.com/local--files/oxygen9-files-2/4kBG]]

    [[div class="s4kbg-content"]]

        [[span class="s4ktitle left"]]SCP-CN-##7b68ee|4000##[[/span]]
        [[span class="s4ktitle right"]]「##7b68ee|难题##」竞赛[[/span]]

        [[div class="s4kbg-content-2"]]
            [[div class="content-2-buttons"]]
            [[span]][[span class="cn4kbutton go"]][[[scpcn4000contesthub|官方中心页]]][[/span]][[span class="cn4kbutton scpper"]][*https://scpper.mer.run/scpcn4000contest SCPPER-CN][[/span]][[/span]]

[[module rate]]

            [[/div]]

            在CN3K尘埃落定一年之后,第四次整千竞赛的钟声再次敲响。
        [[/div]]
    [[/div]]

[[/div]]

[[div class="scroller" style="margin-top: -5rem"]]
@@@@
[[/div]]

[[div class="page-flow"]]

    [[div class="section-content"]]
    [[span class="hr s4ktitle"]]赛程[[/span]]

        [[div class="card-container"]]
            [[div class="card progress"]]
=            [[span class="s4ksubtitle"]]距离比赛结束剩余[[/span]]

[[html]]
<html>
    <style>

        /* @import url("data:text/css,%40font-face%7Bfont-family%3A%22ZSFT-817%22%3Bsrc%3Aurl(%22https%3A%2F%2Ffontsapi.zeoseven.com%2F817%2Fmain.woff2%22)%20format(%22woff2%22)%2Curl(%22https%3A%2F%2Ffontsapi-storage.zeoseven.com%2F817%2Fmain.woff2%22)%20format(%22woff2%22)%3Bfont-style%3Anormal%3Bfont-weight%3A400%3Bfont-display%3Aswap%3B%7D"); */

@font-face {
    font-family: "Altinn-DIN";
    src: url("https://fontsapi.zeoseven.com/ck/main.woff2") format('woff2'),
        url("https://fontsapi-storage.zeoseven.com/ck/main.woff2") format('woff2');
    font-display: swap;
}

        body {
            font-family: "Altinn-DIN";
            font-weight: normal;
            background-color: #000000;
        }

        #countdown-container {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 0.5rem;
        }
        .countdown-item {
            display: none;
        }

        .countdown-item.visible {
            display: block;
        }

        .countdown-item div {
            font-size: 2.5rem;
            font-weight: bold;
            display: inline-block;
            color: #59beaa;
        }

        .countdown-item .countdown-label {
            font-size: 2rem;
            font-weight: bold;
            color: #ffffff;
        }

    </style>

    <body>
        <div id="countdown-container">
            <div class="countdown-item days visible">
                <div id="countdown-days"></div>
                <div class="countdown-label" id="changeable-label">D</div>
            </div>
            <div class="countdown-item hours visible">
                <div id="countdown-hours"></div>
                <div class="countdown-label">H</div>
            </div>
            <div class="countdown-item minutes visible">
                <div id="countdown-minutes"></div>
                <div class="countdown-label">M</div>
            </div>
            <div class="countdown-item seconds visible">
                <div id="countdown-seconds"></div>
                <div class="countdown-label">S</div>
            </div>  
        </div>
    </body>

    <script>
        const countdownContainer = document.getElementById("countdown-container");
        const countdownDays = document.getElementById("countdown-days");
        const countdownHours = document.getElementById("countdown-hours");
        const countdownMinutes = document.getElementById("countdown-minutes");
        const countdownSeconds = document.getElementById("countdown-seconds");

        const targetDate = new Date("2025-12-25T00:00:00");
        let isMillisecondMode = false;
        let countdownInterval = null;

        function updateCountdown() {
            const currentDate = new Date();
            const timeDifference = targetDate - currentDate;

            if (isMillisecondMode) {
                // 毫秒模式:显示总毫秒数
                countdownDays.textContent = timeDifference;
                countdownHours.textContent = "";
                countdownMinutes.textContent = "";
                countdownSeconds.textContent = "";
                document.querySelector(".countdown-item.days").classList.add("visible");
                document.querySelector(".countdown-item.hours").classList.remove("visible");
                document.querySelector(".countdown-item.minutes").classList.remove("visible");
                document.querySelector(".countdown-item.seconds").classList.remove("visible");
                document.getElementById("changeable-label").textContent = "MS";
            } else {
                // 正常模式:显示天、时、分、秒
                const days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
                const hours = Math.floor((timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
                const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
                const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);

                countdownDays.textContent = days;
                countdownHours.textContent = hours;
                countdownMinutes.textContent = minutes;
                countdownSeconds.textContent = seconds;
                document.querySelector(".countdown-item.days").classList.add("visible");
                document.querySelector(".countdown-item.hours").classList.add("visible");
                document.querySelector(".countdown-item.minutes").classList.add("visible");
                document.querySelector(".countdown-item.seconds").classList.add("visible");
                document.getElementById("changeable-label").textContent = "D";
            }
        }

        function startCountdown() {
            // 清理之前的定时器
            if (countdownInterval) {
                clearInterval(countdownInterval);
            }
            
            // 根据模式设置不同的更新频率
            const interval = isMillisecondMode ? 4 : 1000;
            countdownInterval = setInterval(updateCountdown, interval);
            
            // 立即更新一次显示
            updateCountdown();
        }

        // 鼠标悬停事件:切换到毫秒模式
        countdownContainer.addEventListener("mouseenter", function() {
            isMillisecondMode = true;
            startCountdown();
        });

        // 鼠标离开事件:切换回正常模式
        countdownContainer.addEventListener("mouseleave", function() {
            isMillisecondMode = false;
            startCountdown();
        });

        // 页面加载时启动倒计时
        startCountdown();

    </script>
</html>
[[/html]]

            [[/div]]

            [[div class="card tri"]]
            [[span class="s4ksubtitle"]]开始投稿[[/span]]
            [[span class="b-date"]][[date 1764518400 format="%Y/%m/%d|agohover"]][[/span]]
            [[/div]]

            [[div class="card tri"]]
            [[span class="s4ksubtitle"]]结束投稿[[/span]]
            [[span class="b-date"]][[date 1764864000 format="%Y/%m/%d|agohover"]][[/span]]
            [[/div]]

            [[div class="card tri"]]
            [[span class="s4ksubtitle"]]竞赛结束[[/span]]
            [[span class="b-date"]][[date 1766592000 format="%Y/%m/%d|agohover"]][[/span]]
            [[/div]]
        [[/div]]

    [[/div]]

[[/div]]

[[div class="scroller"]]
@@@@
[[/div]]

[[div class="page-flow"]]


    [[div class="section-content"]]
    [[span class="hr s4ktitle"]]排名[[/span]]

    [[span class="label"]]排名榜将显示参赛者历届整千竞赛中获得的编号,包括##6a989f|1K“流传”竞赛##、##bf5b5b|2K“不一定”竞赛##和##bba875|3K“奇迹/宿命”竞赛##。[[/span]]
    [[span class="label"]]将鼠标悬浮,或轻触参赛作品所在的栏目可以看到其详细信息。[[/span]]
    [[/div]]

[!--


[[module ListPages categories="_default" separate="no" tags="+cn4000 -竞赛 -中心 -作者" perPage="100" order="rating desc"]]]

[[div class="cn4k-single" style="counter-increment: con-sumup %%rating%% con-votes %%rating_votes%% con-words %%size%% con-revs %%revisions%% con-pages 1 con-comments %%comments%%;"]]
[[span class="cn4k-index"]]%%index%%[[/span]][[span class="cn4k-rating"]]%%rating%%[[/span]][[span class="cn4k-votes" data-vote="%%rating_votes%%"]]+[[#expr (%%rating_votes%%+%%rating%%)/2]]/-[[#expr (%%rating_votes%%-%%rating%%)/2]] | [[span class="cn4k-votes-uprate"]][[#expr (%%rating_votes%%+%%rating%%)/2/%%rating_votes%%*10000%10001/100]]%[[/span]][[/span]][[span class="cn4k-created-by" data-created-by="%%created_by%%"]][[user %%created_by%%]][[span class="results"]][[span class="cn1kresult"]]@@ @@[[/span]][[span class="cn2kresult"]]@@ @@[[/span]][[span class="cn3kresult"]]@@ @@[[/span]][[/span]][[/span]][[span class="cn4k-title"]]%%title_linked%%[[/span]]
[[span class="cn4k-data"]]%%created_at|%Y/%m/%e%% | %%size%%字 | 💬%%comments%%
[[span class="cn4k-preview"]]%%preview(100)%%[[/span]][[/span]]
[[/div]]

[[/module]]

--]

@@@@
@@@@
@@@@

= **投稿阶段尚未开始。**

[[/div]]

[[div class="scroller" style="margin-top: 5rem;"]]
@@@@
[[/div]]

[[div class="s4kbg page-flow"]]

    [[div class="section-content"]]
    [[span class="hr s4ktitle"]]数据统计[[/span]]
    [[/div]]

    [[div class="card-container"]]
        [[div class="card progress cn4kdatast"]]

        [[span class="con-pages sta"]]参赛作品总数[[/span]]

        [[span class="con-score-sumup sta"]]全部作品总分[[/span]]

        [[span class="con-votes sta"]]获得投票次数[[/span]]

        [[span class="con-comments sta"]]获得评论数量[[/span]]

        [[span class="con-revs sta"]]页面版本总数[[/span]]

        [[span class="con-words sta"]]全部作品总字数[[/span]]

        [[/div]]
    [[/div]]

= [[span class="cn4kbutton go"]][[[_o9|回到作者页]]][[/span]]

[[/div]]

[[div class="scroller" style="margin-top: 4rem;"]]
@@@@
[[/div]]

[[div class="s4kbg page-flow"]]

    [[div class="section-content"]]
    [[span class="hr s4ktitle"]]评论[[/span]]

[[module comments]]
    [[/div]]

[[/div]]

[[module css]]

.con-score-sumup::after {
    content: counter(con-sumup);
}

.con-votes::after {
    content: counter(con-votes);
}

.con-words::after {
    content: counter(con-words);
}

.con-revs::after {
    content: counter(con-revs);
}

.con-pages::after {
    content: counter(con-pages);
}

.con-comments::after {
    content: counter(con-comments);
}

.card.progress.cn4kdatast p {
    font-weight: bold;
    font-size: 1.5rem;
    max-width: 30rem;
    margin: 1rem auto;
    border-bottom: solid 0.2rem var(--mox-layer-light-3);
    padding-bottom: 0.4rem;
}

.card.progress.cn4kdatast p span.sta {
    display: flex
;
    width: 100%;
    justify-content: space-between;
    line-height: 145%;
}

.card.progress.cn4kdatast p span.sta::after {
    font-family: 'Alata';
    font-size: 145%;
}

.comments-box {
    max-width: 40rem;
    margin: 0 auto;
}

[[/module]]

[[div style="width: 90%;
    margin: 0 auto;"]]
[[collapsible show="WA说你的作者页至少得包含一个作品列表" hide="这个就是了"]]
[[module ListPages created_by="OxygenNine" tags="+原创 scp 故事 文章 版式 组件" separate="no"]]
* %%title_linked%%
[[/module]]
[[/collapsible]]
[[/div]]

@@@@
@@@@
@@@@