/* 所有页面通用部分 */
/* main */
:root {
    /* 浅色模式变量 */
    --bg-color: #fefefe;
    --text-color: #1f1f1f;
    --accent-color: #007bff;
    --code-color: #e9eef6;
}

@media (prefers-color-scheme: dark) {
    :root {
        /* 深色模式变量 */
        --bg-color: #0e0e0f;
        --text-color: #e3e3e3;
        --accent-color: #3f9aff;
        --code-color: #282a2c;
    }
}

::-moz-selection {
    background-color: var(--text-color);
    color: var(--bg-color);
}
::selection {
    background-color: var(--text-color);
    color: var(--bg-color);
}
pre {
scrollbar-width: thin;
scrollbar-color: var(--text-color) transparent;
}
/* Webkit浏览器滚动条样式 */
pre::-webkit-scrollbar {
    height: 8px;
}
pre::-webkit-scrollbar-track {
    background: transparent;
}
pre::-webkit-scrollbar-thumb {
    background: var(--text-color);
    border-radius: 4px;
}
pre::-webkit-scrollbar-button {
    display: none;
}

html {
    font-size: 0.4cm;
    text-wrap: pretty;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

@font-face {
    font-family: 'JetBrains Mono';         /* 给字体起个名字 */
    src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2'); /* 指向本地路径 */
    font-weight: normal;                 /* 定义字体的粗细 */
    font-style: normal;                  /* 定义字体的样式 */
    font-display: swap;                  /* 性能优化：在加载完成前先显示备用字体 */
}

body {
    position: relative;
    background: var(--bg-color);
    color: var(--text-color);
    text-emphasis: var(--bg-color);
    text-emphasis-color: var(--text-color);
    font-family: 'JetBrains Mono', 'Noto Sans SC', sans-serif;
    margin: 0;
    min-height: 100vh;
}

a:link {
    text-decoration:none;
    color: var(--accent-color);
}
a:visited {
    text-decoration:none;
    color: var(--accent-color);
}
a:hover {
    text-decoration:underline;
    color: var(--accent-color);
}
a:active {
    text-decoration:underline;
    color: var(--accent-color);
}

/* 文字按钮链接 */
a.text-button {
    width: fit-content;
    color: var(--text-color);
    text-decoration: none;
    pointer-events: auto;
}
@media (any-hover: hover) {
    a.text-button:hover {
        color: var(--bg-color);
        text-decoration: none;
        background-color: var(--text-color);
    }
}
a.text-button:active {
    color: var(--bg-color);
    text-decoration: none;
    background-color: var(--text-color);
}

/* 剧透部分 */
a.spoiler {
    width: fit-content;
    color: var(--text-color);
    background-color: var(--text-color);
    text-decoration: none;
    pointer-events: auto;
}

@media (any-hover: hover) {
    a.spoiler:hover {
        color: var(--bg-color);
        text-decoration: none;
    }
}
a.spoiler.revealed {
    color: var(--bg-color);
    text-decoration: none;
}

h1 {
    font-size: 2rem;
}
h2 {
    font-size: 1.2rem;
}
h3, h4, h5, h6, p {
    font-size: 1rem;
    margin-top: 10px;
    margin-bottom: 10px;
}
p, blockquote {
    text-align: justify;
    text-wrap: wrap;
}

/* 进度条 */
.progress-bar {
    height: 3px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: transparent;
    pointer-events: none;
}

.progress-bar-inner {
    height: 100%;
    width: 0%;
    background-color: var(--text-color);
    transition: opacity 0.3s ease;
    opacity: 1;
    display: block;
}

.progress-bar-inner.loading {
    animation: progress-loading 2s ease-in-out forwards;
}

.progress-bar-inner.complete {
    width: 100% !important;
    opacity: 0;
}

@keyframes progress-loading {
    0% {
        width: 0%;
    }
    50% {
        width: 70%;
    }
    100% {
        width: 90%;
    }
}

/* 注释部分 */
/* 定义闪烁动画 */
@keyframes highlight-fade {
    0% {
        background-color: var(--text-color);
        color: var(--bg-color)
    }
    100% {
        background-color: transparent;
        color: var(--text-color)
    }
}

/* 当元素成为跳转目标时触发 */
:target {
    animation: highlight-fade 2s ease-out;
    /* 保留间距 */
    scroll-margin-top: 50px;
}


/* 桌面端导航栏 */
.nav {
    background-color: var(--bg-color);
    width: 100vw;
    position: fixed;
    z-index: 999;
}
.nav-toggle {
    display: none;
}
.navbar-manu-button {
    position: fixed;
    display: none;
    cursor: pointer;
}
.navbar-manu-button a {
    color: var(--text-color);
    font-size: 0;
}
.navbar-manu-button h3 {
    margin: 0;
    user-select: none;
}
.navbar {
    display: flex;
    justify-content: center;
}

div.title {
    margin-right: 20%;
    width: 40%;
    text-align: center;
}

.navbar nav {
    display: flex;
    width: 30%;
    margin-right: 10%;
    a {
        color: var(--text-color);
        display: block;
        text-align: center;
        width: 33.3333%;
        h3.navbar-button-1::before {
            content: "主页";
        }
        h3.navbar-button-2::before {
            content: "展柜";
        }
        h3.navbar-button-3::before {
            content: "关于我";
        }
        h3.navbar-button-2-button-1::before {
            content: "扁舟";
        }
        h3.navbar-button-2-button-2::before {
            content: "随笔";
        }
        h3.navbar-button-2-button-3::before {
            content: "全部";
        }
    }
    a:hover {
        text-decoration: none;
        background: var(--text-color);
        color: var(--bg-color);
        h3.navbar-button-1::before {
            content: "> 主页 <";
        }
        h3.navbar-button-2::before {
            content: "> 展柜 <";
        }
        h3.navbar-button-3::before {
            content: "> 关于我 <";
        }
        h3.navbar-button-2-button-1::before {
            content: "> 扁舟 <";
        }
        h3.navbar-button-2-button-2::before {
            content: "> 随笔 <";
        }
        h3.navbar-button-2-button-3::before {
            content: "> 全部 <";
        }
    }
    a:active {
        text-decoration: none;
        background: var(--text-color);
        color: var(--bg-color);
        h3.navbar-button-1::before {
            content: "> 主页 <";
        }
        h3.navbar-button-2::before {
            content: "> 展柜 <";
        }
        h3.navbar-button-3::before {
            content: "> 关于我 <";
        }
        h3.navbar-button-2-button-1::before {
            content: "> 扁舟 <";
        }
        h3.navbar-button-2-button-2::before {
            content: "> 随笔 <";
        }
        h3.navbar-button-2-button-3::before {
            content: "> 全部 <";
        }
    }
    details.navbar-button-2 {
        display: flex;
        justify-content: center;
        flex-direction: column;
        width: 33.3333%;
        summary {
            width: 100%;
            display: flex;
            justify-content: center;
            pointer-events: auto;
            a {
                width: 100%;
            }
        }
        a.navbar-button-2-manu {
            display: block;
            width: 100%;
            h3 {
                margin: 0;
                padding: 10px 0;
            }
        }
    }
}

.navbar h3 {
    margin: 10px 0;
}
/* 平板端导航栏 */
@media screen and (max-width: 850px) {
    .navbar nav {
        width: 35%;
        margin-right: 5%;
    }
}
/* 移动端导航栏 */
@media screen and (max-width: 767px) {
    .navbar-manu-button {
        display: flex;
    }
    .navbar-manu-button a {
        text-decoration: none;
        display: block;
        text-align: center;
        background-color: var(--bg-color);
        color: var(--text-color);
        font-size: 1rem;
    }
    @media (any-hover: hover) {
        .navbar-manu-button a:hover {
            text-decoration: none;
            background: var(--text-color);
            color: var(--bg-color);
        }
    }
    .navbar-manu-button a:active {
        text-decoration: none;
        background: var(--text-color);
        color: var(--bg-color);
    }
    .navbar-manu-button h3 {
        margin: 10px;
    }
    div.title {
        margin-right: 0;
        width: 100%;
        text-align: center;
    }
    .navbar {
        background-color: var(--bg-color);
        flex-direction: column;
        width: 100%;
        nav {
            width: 100%;
            flex-direction: column;
            a {
                width: 100%;
                h3 {
                    width: 100%;
                    font-size: 0;
                    margin: 0;
                }
            }
            details.navbar-button-2 {
                width: 100%;
            }
        }
    }
    .nav-toggle:checked ~ .navbar nav {
        h3 {
            font-size: 1rem;
            margin: 10px 0;
        }
    }
}

div.between-navbar-and-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--text-color);
}

/* 连接错误报错和JavaScript禁用警告 */
h3.between-navbar-and-content {
    color: var(--bg-color);
    font-size: 0;
    margin: 0 20vw;
    text-align: left;
}
@media screen and (max-width: 1023px) {
    h3.between-navbar-and-content {
        margin: 0 15vw;
    }
}
@media screen and (max-width: 767px) {
    h3.between-navbar-and-content {
        margin: 0 6vw;
    }
}

main {
    display: flex;
    flex-direction: column;
}
/* 分割线 */
div.divider {
    text-align: center;
    width: 100%;
}
h3.divider::before {
    content: "+dwb================================================================================================dwb+";
}
h3.vertical-divider { /* 纵向分割线 */
    margin: 0;
}
@media screen and (max-width: 1023px) {
    h3.divider::before {
        content: "+dwb====================================================dwb+";
    }
}
@media screen and (max-width: 767px) {
    h3.divider::before {
        content: "+dwb==============================dwb+";
    }
}
@media screen and (max-width: 374px) {
    h3.divider::before {
        content: "+dwb==================dwb+";
    }
}

/* 页脚 */
.footer {
    position: absolute;
    width: 100%;
    bottom: 0;
}
.footer-content {
    margin: 10px 0;
    text-align: center;
}
/* 正文和底端的空白 */
.footer-block {
    width: 100%;
    height: calc(1cm + 42px);
}

/* 添加外部链接图标 */
a[href^="http"]::after {
    content: ""; /* 必须有 content 属性 */
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;

    /* 使用图标地址，可以是 SVG 或 PNG */
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Eexternal%20link%3C%2Ftitle%3E%3Cpath%20fill%3D%22%23007bff%22%20d%3D%22M6%201h5v5L8.86%203.85%204.7%208%204%207.3l4.15-4.16zM2%203h2v1H2v6h6V8h1v2a1%201%200%200%201-1%201H2a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1%22%2F%3E%3C%2Fsvg%3E');
    background-size: contain;
    background-repeat: no-repeat;

    /* 确保图标与文字对齐 */
    vertical-align: middle;
}
code a[href^="http"]::after {
    content: ""; /* 必须有 content 属性 */
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0;
    background-image: none;
}

@media (prefers-color-scheme: dark) {
    a[href^="http"]::after {
        background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Eexternal%20link%3C%2Ftitle%3E%3Cpath%20fill%3D%22%233f9aff%22%20d%3D%22M6%201h5v5L8.86%203.85%204.7%208%204%207.3l4.15-4.16zM2%203h2v1H2v6h6V8h1v2a1%201%200%200%201-1%201H2a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1%22%2F%3E%3C%2Fsvg%3E");
    }
    code a[href^="http"]::after {
        content: ""; /* 必须有 content 属性 */
        display: inline-block;
        width: 0;
        height: 0;
        margin-left: 0;
        background-image: none;
    }
}

/* 由文本拼成的窗口和Logo */
.window {
    text-align: center;
    margin: 0;
    text-wrap: nowrap;
}
.logo {
    text-align: left;
    margin: 0;
    text-wrap: nowrap;
}
.window-content {
    width: 100%;
    height: max-content;
    display: grid;
    grid-template-areas:
        "left center right";
    grid-template-columns: max-content 1fr max-content;
}
.window-border-left{
    grid-area: left;
}
.window-inner-content {
    grid-area: center;
    width: 100%;
    display: flex;
    flex-direction: column;
}
.window-border-right{
    grid-area: right;
}
/* 顶部 */
h3.window-1::before {content: "\0000a0_____________________________________________________________________________________________________\0000a0\0000a0";}
h3.window-2::before {content: "|_______________________________________________________________________________________________-_=_X_|:";}
h3.window-ark::before {content: "|__Ark.exe______________________________________________________________________________________-_=_X_|:";} /* 扁舟主页展示块窗口标题 */
h3.window-articles::before {content: "|__articles.exe_________________________________________________________________________________-_=_X_|:";} /* 随笔主页展示块窗口标题 */
h3.window-index::before {content: "|__Index________________________________________________________________________________________-_=_X_|:";} /* 位于页面头部的索引窗口标题 */
h3.window-picture-1::before {content: "\0000a0___________________________________\0000a0\0000a0"} /* 个人资料图片窗口 */
h3.window-picture-2::before {content: "|__Profile_Picture____________-_=_X_|:"} /* 个人资料图片窗口标题 */
h3.window-links::before {content: "|__Links______________________-_=_X_|:"} /* 个人资料链接窗口标题 */
/* 中部 */
h3.window-3::before {content: "|\0000a01\0000a0|\0000a0\0000a0\0000a0\0000a0______\0000a0\0000a0\0000a0_______________________\0000a0\0000a0\0000a0\0000a0_________\0000a0\0000a0\0000a0\0000a0___\0000a0\0000a0_______\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0_\0000a0_______________\0000a0\0000a0\0000a0\0000a0_\0000a0\0000a0\0000a0\0000a0|:";}
h3.window-4::before {content: "|\0000a02\0000a0|\0000a0\0000a0\0000a0/\0000a0___\00005c\0000a0\00005c\0000a0/\0000a0/\0000a0__\0000a0\0000a0\00005c\0000a0\0000a0____|\0000a0\0000a0___\0000a0\00005c\0000a0|\0000a0\0000a0/\0000a0/\0000a0_\0000a0\0000a0|\0000a0\0000a0\00005c\0000a0\0000a0|\0000a0|\0000a0|/\0000a0____\0000a0\00005c|\0000a0\0000a0\0000a0\0000a0|\0000a0|\0000a0____/\0000a0\0000a0____|\0000a0\0000a0\00005c\0000a0\0000a0|\0000a0|\0000a0\0000a0\0000a0|:";}
h3.window-5::before {content: "|\0000a03\0000a0|\0000a0\0000a0/\0000a0/\0000a0\0000a0\0000a0\0000a0\00005c\0000a0V\0000a0/\0000a0/__)\0000a0/\0000a0[___\0000a0|\0000a0|____/\0000a0|_/\0000a0/\0000a0/_|\0000a0|\0000a0|\0000a0\00005c\0000a0|\0000a0|\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0|\0000a0|(____|\0000a0[___\0000a0|\0000a0|\0000a0\00005c\0000a0|\0000a0|\0000a0\0000a0\0000a0|:";}
h3.window-6::before {content: "|\0000a04\0000a0|\0000a0(\0000a0(\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|\0000a0|\0000a0\0000a0___\0000a0\0000a0\00005c\0000a0\0000a0___]|\0000a0\0000a0__\0000a0\00005c|\0000a0\0000a0_\0000a0(\0000a0\0000a0__\0000a0\0000a0|\0000a0|\00005c\0000a0\00005c|\0000a0|\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0|\0000a0|____\0000a0\00005c\0000a0\0000a0___]|\0000a0|\00005c\0000a0\00005c|\0000a0|\0000a0\0000a0\0000a0|:";}
h3.window-7::before {content: "|\0000a05\0000a0|\0000a0\0000a0\00005c\0000a0\00005c_____|\0000a0|\0000a0[___)\0000a0)\0000a0[____|\0000a0|\0000a0\0000a0\00005c\0000a0\00005c\0000a0|\0000a0\00005c\0000a0\00005c/\0000a0\0000a0|\0000a0|\0000a0|_\00005c___|\0000a0|\0000a0|____|\0000a0|____|\0000a0|____)\0000a0)[____|\0000a0|\0000a0\00005c\0000a0|\0000a0|\0000a0\0000a0\0000a0|:";}
h3.window-8::before {content: "|\0000a06\0000a0|\0000a0\0000a0\0000a0\00005c______|_|_______/______|_|\0000a0\0000a0\0000a0\00005c_\00005c|\0000a0\0000a0\00005c_\00005c\0000a0\0000a0|_|_|\00005c______/\00005c______/______/\00005c_____/______|_|\0000a0\0000a0\00005c__|\0000a0\0000a0\0000a0|:";}
h3.window-9::before {content: "|\0000a07\0000a0|\0000a0[INFO][CyberKanjousen]Ciallo~\0000a0(<·ω<\0000a0)^✶\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
h3.window-a::before {content: "|\0000a08\0000a0|\0000a0[INFO][CyberKanjousen]What\0000a0Are\0000a0You\0000a0Looking\0000a0for?\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
h3.window-border-left::before,
h3.window-border-left-picture::before{content: "|\0000a0";}
h3.window-border-right::before,
h3.window-border-right-picture::before {content: "\0000a0|:";}
/* 底部 */
h3.window-b::before {content: "|_9_|_________________________________________________________________________________________________|:";}
h3.window-c::before {content: "\0000a0```````````````````````````````````````````````````````````````````````````````````````````````````````";}
h3.window-bottom-1::before {content: "|_____________________________________________________________________________________________________|:"}
h3.window-bottom-2::before {content: "\0000a0```````````````````````````````````````````````````````````````````````````````````````````````````````"}
h3.window-picture-bottom-1::before {content: "|___________________________________|:"} /* 个人资料图片窗口底部 */
h3.window-picture-bottom-2::before {content: "\0000a0`````````````````````````````````````"} /* 个人资料图片窗口底部阴影 */
/* Logo */
.home {
    h3.ark-exe-logo-1::before {content: "\0000a0\0000a0\0000a0_________\0000a0\0000a0__\0000a0";}
    h3.ark-exe-logo-2::before {content: "\0000a0\0000a0/\0000a0\0000a0|\0000a0__\0000a0\00005c\0000a0|/\0000a0/";}
    h3.ark-exe-logo-3::before {content: "\0000a0/\0000a0^\0000a0|\0000a0|\0000a0_/\0000a0\0000a0\0000a0(";}
    h3.ark-exe-logo-4::before {content: "/_/|_|_|\00005c_\00005c_|\00005c_\00005c";}
    h3.articles-exe-logo-1::before {content: "\0000a0\0000a0\0000a0_______________________\0000a0\0000a0\0000a0\0000a0____\0000a0____";}
    h3.articles-exe-logo-2::before {content: "\0000a0\0000a0/\0000a0\0000a0|\0000a0__\0000a0\00005c__\0000a0__|_\0000a0_/\0000a0__|\0000a0|\0000a0\0000a0|\0000a0___/\0000a0___|";}
    h3.articles-exe-logo-3::before {content: "\0000a0/\0000a0^\0000a0|\0000a0|\0000a0_/\0000a0|\0000a0|\0000a0\0000a0|\0000a0|\0000a0(__|\0000a0|__|\0000a0___\00005c___\0000a0\00005c";}
    h3.articles-exe-logo-4::before {content: "/_/|_|_|\00005c_\00005c\0000a0|_|\0000a0|___\00005c___|____|____|____/";}
}
.me-content {
}
/* 平板端 */
@media screen and (max-width: 1023px) {
    h3.window-1::before {content: "\0000a0_________________________________________________________\0000a0\0000a0";}
    h3.window-2::before {content: "|___________________________________________________-_=_X_|:";}
    h3.window-ark::before {content: "|__Ark.exe__________________________________________-_=_X_|:";}
    h3.window-articles::before {content: "|__articles.exe_____________________________________-_=_X_|:";}
    h3.window-index::before {content: "|__Index____________________________________________-_=_X_|:";}

    h3.window-3::before {content: "|\0000a01\0000a0|\0000a0\0000a0\0000a0\0000a0_______\0000a0\0000a0\0000a0___\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-4::before {content: "|\0000a02\0000a0|\0000a0\0000a0\0000a0/\0000a0____\00005c\0000a0\00005c\0000a0\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-5::before {content: "|\0000a03\0000a0|\0000a0\0000a0/\0000a0/Cyber\00005c\0000a0\00005c_|\0000a0|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-6::before {content: "|\0000a04\0000a0|\0000a0(\0000a0(\0000a0Kanjou)sen\0000a0|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-7::before {content: "|\0000a05\0000a0|\0000a0\0000a0\00005c\0000a0\00005c____\0000a0/\0000a0/\0000a0|\0000a0|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-8::before {content: "|\0000a06\0000a0|\0000a0\0000a0\0000a0\00005c_____/_/\0000a0\0000a0|_|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-9::before {content: "|\0000a07\0000a0|\0000a0[INFO][CyberKanjousen]Ciallo~\0000a0(<·ω<\0000a0)^✶\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-a::before {content: "|\0000a08\0000a0|\0000a0[INFO][CyberKanjousen]What\0000a0Are\0000a0You\0000a0Looking\0000a0for?\0000a0\0000a0\0000a0\0000a0\0000a0|:";}

    h3.window-b::before {content: "|_9_|_____________________________________________________|:";}
    h3.window-c::before {content: "\0000a0```````````````````````````````````````````````````````````";}
    h3.window-bottom-1::before {content: "|_________________________________________________________|:"}
    h3.window-bottom-2::before {content: "\0000a0```````````````````````````````````````````````````````````"}

    .home {
        h3.ark-exe-logo-1::before,
        h3.ark-exe-logo-2::before,
        h3.ark-exe-logo-3::before,
        h3.ark-exe-logo-4::before,
        h3.articles-exe-logo-1::before,
        h3.articles-exe-logo-2::before,
        h3.articles-exe-logo-3::before,
        h3.articles-exe-logo-4::before {content: "";}
    }
}

/* 移动端 */
@media screen and (max-width: 767px) {
    h3.window-1::before {content: "\0000a0___________________________________\0000a0\0000a0";}
    h3.window-2::before {content: "|_____________________________-_=_X_|:";}
    h3.window-ark::before {content: "|__Ark.exe____________________-_=_X_|:";}
    h3.window-articles::before {content: "|__articles.exe_______________-_=_X_|:";}
    h3.window-index::before {content: "|__Index______________________-_=_X_|:";}

    h3.window-3::before {content: "|\0000a01\0000a0|\0000a0\0000a0\0000a0\0000a0_______\0000a0\0000a0\0000a0___\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-4::before {content: "|\0000a02\0000a0|\0000a0\0000a0\0000a0/\0000a0____\00005c\0000a0\00005c\0000a0\0000a0|\0000a0|\0000a0Ciallo~\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-5::before {content: "|\0000a03\0000a0|\0000a0\0000a0/\0000a0/Cyber\00005c\0000a0\00005c_|\0000a0|\0000a0(<·ω<\0000a0)^✶\0000a0\0000a0\0000a0\0000a0|:";}
    h3.window-6::before {content: "|\0000a04\0000a0|\0000a0(\0000a0(\0000a0Kanjou)sen\0000a0|\0000a0What\0000a0Are\0000a0You\0000a0|:";}
    h3.window-7::before {content: "|\0000a05\0000a0|\0000a0\0000a0\00005c\0000a0\00005c____\0000a0/\0000a0/\0000a0|\0000a0|\0000a0Looking\0000a0for?\0000a0|:";}
    h3.window-8::before {content: "|\0000a06\0000a0|\0000a0\0000a0\0000a0\00005c_____/_/\0000a0\0000a0|_|\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0\0000a0|:";}

    h3.window-9::before {content: "|_7_|_______________________________|:";}
    h3.window-a::before {content: "\0000a0`````````````````````````````````````";}
    h3.window-b::before,
    h3.window-c::before {content: "";}
    h3.window-bottom-1::before {content: "|___________________________________|:"}
    h3.window-bottom-2::before {content: "\0000a0`````````````````````````````````````"}
}

/* 狭窄移动端 */
@media screen and (max-width: 374px) {
    h3.window-1::before {content: "\0000a0_______________________\0000a0\0000a0";}
    h3.window-2::before {content: "|_________________-_=_X_|:";}
    h3.window-ark::before {content: "|__Ark.exe________-_=_X_|:";}
    h3.window-articles::before {content: "|__articles.exe___-_=_X_|:";}
    h3.window-index::before {content: "|__Index__________-_=_X_|:";}
    h3.window-picture-1::before {content: "\0000a0_______________________\0000a0\0000a0";}
    h3.window-picture-2::before {content: "|__Picture________-_=_X_|:";}
    h3.window-links::before {content: "|__Links__________-_=_X_|:";}

    h3.window-3::before {content: "|\0000a01\0000a0|\0000a0\0000a0\0000a0\0000a0_______\0000a0\0000a0\0000a0___\0000a0\0000a0|:";}
    h3.window-4::before {content: "|\0000a02\0000a0|\0000a0\0000a0\0000a0/\0000a0____\00005c\0000a0\00005c\0000a0\0000a0|\0000a0|\0000a0\0000a0|:";}
    h3.window-5::before {content: "|\0000a03\0000a0|\0000a0\0000a0/\0000a0/Cyber\00005c\0000a0\00005c_|\0000a0|\0000a0\0000a0|:";}
    h3.window-6::before {content: "|\0000a04\0000a0|\0000a0(\0000a0(\0000a0Kanjou)sen\0000a0|\0000a0\0000a0|:";}
    h3.window-7::before {content: "|\0000a05\0000a0|\0000a0\0000a0\00005c\0000a0\00005c____\0000a0/\0000a0/\0000a0|\0000a0|\0000a0\0000a0|:";}
    h3.window-8::before {content: "|\0000a06\0000a0|\0000a0\0000a0\0000a0\00005c_____/_/\0000a0\0000a0|_|\0000a0\0000a0|:";}
    h3.window-9::before {content: "|\0000a07\0000a0|Ciallo~\0000a0(<·ω<\0000a0)^✶\0000a0\0000a0|:";}

    h3.window-a::before {content: "|_8_|___________________|:";}
    h3.window-b::before {content: "\0000a0`````````````````````````";}
    h3.window-c::before,
    h3.window-border-left-picture::before,
    h3.window-border-right-picture::before {content: "";}
    h3.window-bottom-1::before {content: "|_______________________|:"}
    h3.window-bottom-2::before {content: "\0000a0`````````````````````````"}
    h3.window-picture-bottom-1::before {content: "|_______________________|:"} /* 个人资料图片窗口底部 */
    h3.window-picture-bottom-2::before {content: "\0000a0`````````````````````````"} /* 个人资料图片窗口底部阴影 */

    .me-content {
    }

}

/* 正文和顶端的空白 */
.header-block {
    width: 100%;
    height: calc(0.5cm + 22px);
}

/* 正文左右间距 */
.content-text {
    margin: 0 20vw;
}
@media screen and (max-width: 1023px) {
    .content-text {
        margin: 0 15vw;
    }
}
@media screen and (max-width: 767px) {
    .content-text {
        margin: 0 6vw;
    }
}

/* 特殊 Emoji */
img.small-emoji {
    height: 1rem;
    width: 1rem;
    transform: translateY(2px);
}

/* 引用块 */
blockquote {
    font-size: 1rem;
    margin: 20px 0;
    padding: 10px 20px;
    line-height: 1.5;
    border-left: 6px solid #3182ce; /* 蓝色左边框 */
    background-color: #f7fafc;    /* 极浅的蓝灰色背景 */
    color: #2d3748;
    strong { color: #19294c }
}
@media (prefers-color-scheme: dark) {
    blockquote {
        background-color: #1a202c; /* 深色背景 */
        color: #e2e8f0;            /* 浅灰色文字 */
        border-left-color: #63b3ed;/* 稍亮一点的蓝色边框，增加对比度 */
        strong { color: #a0d4ff }
    }
}
/* 引用块内的作者信息样式 */
blockquote footer {
    margin-top: 10px;
    font-size: 0.9em;
    color: #718096;
}
blockquote footer::before {
    content: "— ";
}

/* 信息块 */
blockquote.info::before {
    content: "[INFO][CyberKanjousen]";
    color: #19294c;
    font-weight: bold;
}
@media (prefers-color-scheme: dark) {
    blockquote.info::before {
        color: #a0d4ff;
    }
}

/* 警告块 */
blockquote.warn {
    font-size: 1rem;
    margin: 20px 0;
    padding: 10px 20px;
    line-height: 1.5;
    border-left: 6px solid #EAB308;
    background-color: #FEFCE8;
    color: #854D0E;
    strong { color: #713F12; }
}
blockquote.warn::before {
    content: "[WARN][CyberKanjousen]";
    color: #713F12;
    font-weight: bold;
}
@media (prefers-color-scheme: dark) {
    blockquote.warn {
        background-color: #1c1910;
        color: #e2e8f0;
        border-left-color: #facc15;
        strong { color: #fbbf24 }
    }
    blockquote.warn::before {
        color: #fbbf24;
    }
}

/* 代码片段 */
code.inline-code {
    font-family: 'JetBrains Mono', sans-serif;
    padding: 0 5px;
    margin: 0 5px;
    background: var(--code-color);
}

/* 代码块 */
/* 浅色主题 */
/* JetBrains Light Theme - Based on Light.icls */
code[class*="language-"],
pre[class*="language-"] {
    color: #808080;
    background: var(--code-color);
    text-shadow: 0 1px #ffffff;
    font-family: 'JetBrains Mono', sans-serif;
    font-size: 1em;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    line-height: 1.5;

    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;

    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
    text-shadow: none;
    background: #A6D2FF;
    color: currentColor;;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
    text-shadow: none;
    background: #A6D2FF;
    color: currentColor;;
}

@media print {
    code[class*="language-"],
    pre[class*="language-"] {
        text-shadow: none;
    }
}

/* Code blocks */
pre[class*="language-"] {
    padding: 1em;
    margin: .5em 0;
    overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
    background: var(--code-color);
}

/* Inline code */
:not(pre) > code[class*="language-"] {
    padding: .1em;
    border-radius: .3em;
    white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #8C8C8C;
}

.token.punctuation {
    color: #999999;
}

.token.namespace {
    opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
    color: #1750EB;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #067D17;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
    color: #BCBEC4;
}

.token.atrule,
.token.attr-value,
.token.keyword {
    color: #0033B3;
}

.token.function,
.token.class-name {
    color: #00627A;
}

.token.regex,
.token.important,
.token.variable {
    color: #9E880D;
}

.token.important,
.token.bold {
    font-weight: bold;
}
.token.italic {
    font-style: italic;
}

.token.entity {
    cursor: help;
}

pre[data-line] {
    position: relative;
    padding: 1em 0 1em 3em;
}

.line-highlight {
    position: absolute;
    left: 0;
    right: 0;
    padding: inherit;
    margin-top: 1em; /* Same as .prism’s padding-top */

    background: hsla(24, 20%, 50%,.08);
    background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

    pointer-events: none;

    line-height: inherit;
    white-space: pre;
}

@media print {
    .line-highlight {
        /*
         * This will prevent browsers from replacing the background color with white.
         * It's necessary because the element is layered on top of the displayed code.
         */
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
}

.line-highlight:before,
.line-highlight[data-end]:after {
    content: attr(data-start);
    position: absolute;
    top: .4em;
    left: .6em;
    min-width: 1em;
    padding: 0 .5em;
    background-color: hsla(24, 20%, 50%,.4);
    color: hsl(24, 20%, 95%);
    font: bold 65%/1.5 sans-serif;
    text-align: center;
    vertical-align: .3em;
    border-radius: 999px;
    text-shadow: none;
    box-shadow: 0 1px white;
}

.line-highlight[data-end]:after {
    content: attr(data-end);
    top: auto;
    bottom: .4em;
}

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
    content: none;
}

pre[id].linkable-line-numbers span.line-numbers-rows {
    pointer-events: all;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
    cursor: pointer;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
    background-color: rgba(128, 128, 128, .2);
}

pre[class*="language-"].line-numbers {
    position: relative;
    padding-left: 3.8em;
    counter-reset: linenumber;
}

pre[class*="language-"].line-numbers > code {
    position: relative;
    white-space: inherit;
}

.line-numbers .line-numbers-rows {
    position: absolute;
    pointer-events: none;
    top: 0;
    font-size: 100%;
    left: -3.8em;
    width: 3em; /* works for line-numbers below 1000 lines */
    letter-spacing: -1px;
    border-right: 1px solid #AEB3C2;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

}

.line-numbers-rows > span {
    display: block;
    counter-increment: linenumber;
}

.line-numbers-rows > span:before {
    content: counter(linenumber);
    color: #AEB3C2;
    display: block;
    padding-right: 0.8em;
    text-align: right;
}

.token.tab:not(:empty),
.token.cr,
.token.lf,
.token.space {
    position: relative;
}

.token.tab:not(:empty):before,
.token.cr:before,
.token.lf:before,
.token.space:before {
    color: #808080;
    opacity: 0.6;
    position: absolute;
}

.token.tab:not(:empty):before {
    content: '\21E5';
}

.token.cr:before {
    content: '\240D';
}

.token.crlf:before {
    content: '\240D\240A';
}
.token.lf:before {
    content: '\240A';
}

.token.space:before {
    content: '\00B7';
}

.token a {
    color: inherit;
}
code[class*="language-"] a[href],
pre[class*="language-"] a[href] {
    cursor: help;
    text-decoration: none;
}

code[class*="language-"] a[href]:hover,
pre[class*="language-"] a[href]:hover {
    cursor: help;
    text-decoration: underline;
}
div.code-toolbar {
    position: relative;
}

div.code-toolbar > .toolbar {
    position: absolute;
    z-index: 10;
    top: .3em;
    right: .2em;
    transition: opacity 0.3s ease-in-out;
    opacity: 0;
}

div.code-toolbar:hover > .toolbar {
    opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don't support :focus-within. */
div.code-toolbar:focus-within > .toolbar {
    opacity: 1;
}

div.code-toolbar > .toolbar > .toolbar-item {
    display: inline-block;
}

div.code-toolbar > .toolbar > .toolbar-item > a {
    cursor: pointer;
}

div.code-toolbar > .toolbar > .toolbar-item > button {
    background: none;
    border: 0;
    color: inherit;
    font: inherit;
    line-height: normal;
    overflow: visible;
    padding: 0;
    -webkit-user-select: none; /* for button */
    -moz-user-select: none;
    -ms-user-select: none;
}

div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
    color: #494B57;
    font-size: .8em;
    padding: 0 .5em;
    background: #f5f2f0;
    background: rgba(224, 224, 224, 0.2);
    box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
    border-radius: .5em;
}

div.code-toolbar > .toolbar > .toolbar-item > a:hover,
div.code-toolbar > .toolbar > .toolbar-item > a:focus,
div.code-toolbar > .toolbar > .toolbar-item > button:hover,
div.code-toolbar > .toolbar > .toolbar-item > button:focus,
div.code-toolbar > .toolbar > .toolbar-item > span:hover,
div.code-toolbar > .toolbar > .toolbar-item > span:focus {
    color: inherit;
    text-decoration: none;
}

span.inline-color-wrapper {
    /*
     * The background image is the following SVG inline in base 64:
     *
     * <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2">
     *     <path fill="gray" d="M0 0h2v2H0z"/>
     *     <path fill="white" d="M0 0h1v1H0zM1 1h1v1H1z"/>
     * </svg>
     *
     * SVG-inlining explained:
     * https://stackoverflow.com/a/21626701/7595472
     */
    background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4=");
    /* This is to prevent visual glitches where one pixel from the repeating pattern could be seen. */
    background-position: center;
    background-size: 110%;

    display: inline-block;
    height: 1.333ch;
    width: 1.333ch;
    margin: 0 .333ch;
    box-sizing: border-box;
    border: 1px solid white;
    outline: 1px solid rgba(0,0,0,.5);
    overflow: hidden;
}

span.inline-color {
    display: block;
    /* To prevent visual glitches again */
    height: 120%;
    width: 120%;
}

.prism-previewer,
.prism-previewer:before,
.prism-previewer:after {
    position: absolute;
    pointer-events: none;
}
.prism-previewer,
.prism-previewer:after {
    left: 50%;
}
.prism-previewer {
    margin-top: -48px;
    width: 32px;
    height: 32px;
    margin-left: -16px;
    z-index: 10;

    opacity: 0;
    -webkit-transition: opacity .25s;
    -o-transition: opacity .25s;
    transition: opacity .25s;
}
.prism-previewer.flipped {
    margin-top: 0;
    margin-bottom: -48px;
}
.prism-previewer:before,
.prism-previewer:after {
    content: '';
    position: absolute;
    pointer-events: none;
}
.prism-previewer:before {
    top: -5px;
    right: -5px;
    left: -5px;
    bottom: -5px;
    border-radius: 10px;
    border: 5px solid #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
}
.prism-previewer:after {
    top: 100%;
    width: 0;
    height: 0;
    margin: 5px 0 0 -7px;
    border: 7px solid transparent;
    border-color: rgba(255, 0, 0, 0);
    border-top-color: #fff;
}
.prism-previewer.flipped:after {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 5px;
    border-top-color: rgba(255, 0, 0, 0);
    border-bottom-color: #fff;
}
.prism-previewer.active {
    opacity: 1;
}

.prism-previewer-angle:before {
    border-radius: 50%;
    background: #fff;
}
.prism-previewer-angle:after {
    margin-top: 4px;
}
.prism-previewer-angle svg {
    width: 32px;
    height: 32px;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.prism-previewer-angle[data-negative] svg {
    -webkit-transform: scaleX(-1) rotate(-90deg);
    -moz-transform: scaleX(-1) rotate(-90deg);
    -ms-transform: scaleX(-1) rotate(-90deg);
    -o-transform: scaleX(-1) rotate(-90deg);
    transform: scaleX(-1) rotate(-90deg);
}
.prism-previewer-angle circle {
    fill: transparent;
    stroke: hsl(200, 10%, 20%);
    stroke-opacity: 0.9;
    stroke-width: 32;
    stroke-dasharray: 0, 500;
}

.prism-previewer-gradient {
    background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb);
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;

    width: 64px;
    margin-left: -32px;
}
.prism-previewer-gradient:before {
    content: none;
}
.prism-previewer-gradient div {
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border-radius: 10px;
    border: 5px solid #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
}

.prism-previewer-color {
    background-image: linear-gradient(45deg, #bbb 25%, transparent 25%, transparent 75%, #bbb 75%, #bbb), linear-gradient(45deg, #bbb 25%, #eee 25%, #eee 75%, #bbb 75%, #bbb);
    background-size: 10px 10px;
    background-position: 0 0, 5px 5px;
}
.prism-previewer-color:before {
    background-color: inherit;
    background-clip: padding-box;
}

.prism-previewer-easing {
    margin-top: -76px;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background: #333;
}
.prism-previewer-easing.flipped {
    margin-bottom: -116px;
}
.prism-previewer-easing svg {
    width: 60px;
    height: 60px;
}
.prism-previewer-easing circle {
    fill: hsl(200, 10%, 20%);
    stroke: white;
}
.prism-previewer-easing path {
    fill: none;
    stroke: white;
    stroke-linecap: round;
    stroke-width: 4;
}
.prism-previewer-easing line {
    stroke: white;
    stroke-opacity: 0.5;
    stroke-width: 2;
}

@-webkit-keyframes prism-previewer-time {
    0% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 100, 500;
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: -100;
    }
}

@-o-keyframes prism-previewer-time {
    0% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 100, 500;
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: -100;
    }
}

@-moz-keyframes prism-previewer-time {
    0% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 100, 500;
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: -100;
    }
}

@keyframes prism-previewer-time {
    0% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 100, 500;
        stroke-dashoffset: 0;
    }
    100% {
        stroke-dasharray: 0, 500;
        stroke-dashoffset: -100;
    }
}

.prism-previewer-time:before {
    border-radius: 50%;
    background: #fff;
}
.prism-previewer-time:after {
    margin-top: 4px;
}
.prism-previewer-time svg {
    width: 32px;
    height: 32px;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.prism-previewer-time circle {
    fill: transparent;
    stroke: hsl(200, 10%, 20%);
    stroke-opacity: 0.9;
    stroke-width: 32;
    stroke-dasharray: 0, 500;
    stroke-dashoffset: 0;
    -webkit-animation: prism-previewer-time linear infinite 3s;
    -moz-animation: prism-previewer-time linear infinite 3s;
    -o-animation: prism-previewer-time linear infinite 3s;
    animation: prism-previewer-time linear infinite 3s;
}
.command-line-prompt {
    border-right: 1px solid #AEB3C2;
    display: block;
    float: left;
    font-size: 100%;
    letter-spacing: -1px;
    margin-right: 1em;
    pointer-events: none;
    text-align: right;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.command-line-prompt > span:before {
    opacity: 0.7;
    content: ' ';
    display: block;
    padding-right: 0.8em;
}

.command-line-prompt > span[data-user]:before {
    content: "[" attr(data-user) "@" attr(data-host) "] $";
}

.command-line-prompt > span[data-user="root"]:before {
    content: "[" attr(data-user) "@" attr(data-host) "] #";
}

.command-line-prompt > span[data-prompt]:before {
    content: attr(data-prompt);
}

.command-line-prompt > span[data-continuation-prompt]:before {
    content: attr(data-continuation-prompt);
}

.command-line span.token.output {
    /* Make shell output lines a bit lighter to distinguish them from shell commands */
    opacity: 0.7;
}

/* Fallback, in case JS does not run, to ensure the code is at least visible */
[class*='lang-'] script[type='text/plain'],
[class*='language-'] script[type='text/plain'],
script[type='text/plain'][class*='lang-'],
script[type='text/plain'][class*='language-'] {
    display: block;
    font: 100% Consolas, Monaco, monospace;
    white-space: pre;
    overflow: auto;
}

.token.punctuation.brace-hover,
.token.punctuation.brace-selected {
    outline: solid 1px;
}

.rainbow-braces .token.punctuation.brace-level-1,
.rainbow-braces .token.punctuation.brace-level-5,
.rainbow-braces .token.punctuation.brace-level-9 {
    color: #E50;
    opacity: 1;
}
.rainbow-braces .token.punctuation.brace-level-2,
.rainbow-braces .token.punctuation.brace-level-6,
.rainbow-braces .token.punctuation.brace-level-10 {
    color: #0B3;
    opacity: 1;
}
.rainbow-braces .token.punctuation.brace-level-3,
.rainbow-braces .token.punctuation.brace-level-7,
.rainbow-braces .token.punctuation.brace-level-11 {
    color: #26F;
    opacity: 1;
}
.rainbow-braces .token.punctuation.brace-level-4,
.rainbow-braces .token.punctuation.brace-level-8,
.rainbow-braces .token.punctuation.brace-level-12 {
    color: #E0E;
    opacity: 1;
}

pre.diff-highlight > code .token.deleted:not(.prefix),
pre > code.diff-highlight .token.deleted:not(.prefix) {
    background-color: rgba(255, 0, 0, .1);
    color: inherit;
    display: block;
}

pre.diff-highlight > code .token.inserted:not(.prefix),
pre > code.diff-highlight .token.inserted:not(.prefix) {
    background-color: rgba(0, 255, 128, .1);
    color: inherit;
    display: block;
}

.token.treeview-part .entry-line {
    position: relative;
    text-indent: -99em;
    display: inline-block;
    vertical-align: top;
    width: 1.2em;
}
.token.treeview-part .entry-line:before,
.token.treeview-part .line-h:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
}
.token.treeview-part .line-h:before,
.token.treeview-part .line-v:before {
    border-left: 1px solid #EBECF0;
}
.token.treeview-part .line-v-last:before {
    height: 50%;
    border-left: 1px solid #EBECF0;
    border-bottom: 1px solid #EBECF0;
}
.token.treeview-part .line-h:after {
    height: 50%;
    border-bottom: 1px solid #EBECF0;
}
.token.treeview-part .entry-name {
    position: relative;
    display: inline-block;
    vertical-align: top;
}
.token.treeview-part .entry-name.dotfile {
    opacity: 0.5;
}

/* @GENERATED-FONT */
@font-face {
    font-family: "PrismTreeview";
    /**
     * This font is generated from the .svg files in the `icons` folder. See the `treeviewIconFont` function in
     * `gulpfile.js/index.js` for more information.
     *
     * Use the following escape sequences to refer to a specific icon:
     *
     * - \ea01 file
     * - \ea02 folder
     * - \ea03 image
     * - \ea04 audio
     * - \ea05 video
     * - \ea06 text
     * - \ea07 code
     * - \ea08 archive
     * - \ea09 pdf
     * - \ea0a excel
     * - \ea0b powerpoint
     * - \ea0c word
     */
    src: url("data:application/font-woff;base64,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")
    format("woff");
}

.token.treeview-part .entry-name:before {
    content: "\ea01";
    font-family: "PrismTreeview";
    font-size: inherit;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 2.5ex;
    display: inline-block;
}

.token.treeview-part .entry-name.dir:before {
    content: "\ea02";
}
.token.treeview-part .entry-name.ext-bmp:before,
.token.treeview-part .entry-name.ext-eps:before,
.token.treeview-part .entry-name.ext-gif:before,
.token.treeview-part .entry-name.ext-jpe:before,
.token.treeview-part .entry-name.ext-jpg:before,
.token.treeview-part .entry-name.ext-jpeg:before,
.token.treeview-part .entry-name.ext-png:before,
.token.treeview-part .entry-name.ext-svg:before,
.token.treeview-part .entry-name.ext-tiff:before {
    content: "\ea03";
}
.token.treeview-part .entry-name.ext-cfg:before,
.token.treeview-part .entry-name.ext-conf:before,
.token.treeview-part .entry-name.ext-config:before,
.token.treeview-part .entry-name.ext-csv:before,
.token.treeview-part .entry-name.ext-ini:before,
.token.treeview-part .entry-name.ext-log:before,
.token.treeview-part .entry-name.ext-md:before,
.token.treeview-part .entry-name.ext-nfo:before,
.token.treeview-part .entry-name.ext-txt:before {
    content: "\ea06";
}
.token.treeview-part .entry-name.ext-asp:before,
.token.treeview-part .entry-name.ext-aspx:before,
.token.treeview-part .entry-name.ext-c:before,
.token.treeview-part .entry-name.ext-cc:before,
.token.treeview-part .entry-name.ext-cpp:before,
.token.treeview-part .entry-name.ext-cs:before,
.token.treeview-part .entry-name.ext-css:before,
.token.treeview-part .entry-name.ext-h:before,
.token.treeview-part .entry-name.ext-hh:before,
.token.treeview-part .entry-name.ext-htm:before,
.token.treeview-part .entry-name.ext-html:before,
.token.treeview-part .entry-name.ext-jav:before,
.token.treeview-part .entry-name.ext-java:before,
.token.treeview-part .entry-name.ext-js:before,
.token.treeview-part .entry-name.ext-php:before,
.token.treeview-part .entry-name.ext-rb:before,
.token.treeview-part .entry-name.ext-xml:before {
    content: "\ea07";
}
.token.treeview-part .entry-name.ext-7z:before,
.token.treeview-part .entry-name.ext-bz:before,
.token.treeview-part .entry-name.ext-bz2:before,
.token.treeview-part .entry-name.ext-gz:before,
.token.treeview-part .entry-name.ext-rar:before,
.token.treeview-part .entry-name.ext-tar:before,
.token.treeview-part .entry-name.ext-tgz:before,
.token.treeview-part .entry-name.ext-zip:before {
    content: "\ea08";
}
.token.treeview-part .entry-name.ext-aac:before,
.token.treeview-part .entry-name.ext-au:before,
.token.treeview-part .entry-name.ext-cda:before,
.token.treeview-part .entry-name.ext-flac:before,
.token.treeview-part .entry-name.ext-mp3:before,
.token.treeview-part .entry-name.ext-oga:before,
.token.treeview-part .entry-name.ext-ogg:before,
.token.treeview-part .entry-name.ext-wav:before,
.token.treeview-part .entry-name.ext-wma:before {
    content: "\ea04";
}
.token.treeview-part .entry-name.ext-avi:before,
.token.treeview-part .entry-name.ext-flv:before,
.token.treeview-part .entry-name.ext-mkv:before,
.token.treeview-part .entry-name.ext-mov:before,
.token.treeview-part .entry-name.ext-mp4:before,
.token.treeview-part .entry-name.ext-mpeg:before,
.token.treeview-part .entry-name.ext-mpg:before,
.token.treeview-part .entry-name.ext-ogv:before,
.token.treeview-part .entry-name.ext-webm:before {
    content: "\ea05";
}
.token.treeview-part .entry-name.ext-pdf:before {
    content: "\ea09";
}
.token.treeview-part .entry-name.ext-xls:before,
.token.treeview-part .entry-name.ext-xlsx:before {
    content: "\ea0a";
}
.token.treeview-part .entry-name.ext-doc:before,
.token.treeview-part .entry-name.ext-docm:before,
.token.treeview-part .entry-name.ext-docx:before {
    content: "\ea0c";
}
.token.treeview-part .entry-name.ext-pps:before,
.token.treeview-part .entry-name.ext-ppt:before,
.token.treeview-part .entry-name.ext-pptx:before {
    content: "\ea0b";
}

/* 深色主题 */
@media (prefers-color-scheme: dark) {
    /* JetBrains Dark Theme - Based on Dark.icls */
    code[class*="language-"],
    pre[class*="language-"] {
        color: #BCBEC4;
        background: var(--code-color);
        text-shadow: 0 1px #1E1F22;
        font-family: 'JetBrains Mono', sans-serif;
        font-size: 1em;
        text-align: left;
        white-space: pre;
        word-spacing: normal;
        word-break: normal;
        word-wrap: normal;
        line-height: 1.5;

        -moz-tab-size: 4;
        -o-tab-size: 4;
        tab-size: 4;

        -webkit-hyphens: none;
        -moz-hyphens: none;
        -ms-hyphens: none;
        hyphens: none;
    }

    pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
    code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
        text-shadow: none;
        background: #264578;
        color: currentColor;
    }

    pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
    code[class*="language-"]::selection, code[class*="language-"] ::selection {
        text-shadow: none;
        background: #264578;
        color: currentColor;
    }

    @media print {
        code[class*="language-"],
        pre[class*="language-"] {
            text-shadow: none;
        }
    }

    /* Code blocks */
    pre[class*="language-"] {
        padding: 1em;
        margin: .5em 0;
        overflow: auto;
    }

    :not(pre) > code[class*="language-"],
    pre[class*="language-"] {
        background: var(--code-color);
    }

    /* Inline code */
    :not(pre) > code[class*="language-"] {
        padding: .1em;
        border-radius: .3em;
        white-space: normal;
    }

    .token.comment,
    .token.prolog,
    .token.doctype,
    .token.cdata {
        color: #7A7E85;
    }

    .token.punctuation {
        color: #BCBEC4;
    }

    .token.namespace {
        opacity: .7;
    }

    .token.property,
    .token.tag,
    .token.boolean,
    .token.number,
    .token.constant,
    .token.symbol,
    .token.deleted {
        color: #2AACB8;
    }

    .token.selector,
    .token.attr-name,
    .token.string,
    .token.char,
    .token.builtin,
    .token.inserted {
        color: #6AAB73;
    }

    .token.operator,
    .token.entity,
    .token.url,
    .language-css .token.string,
    .style .token.string {
        color: #BCBEC4;
    }

    .token.atrule,
    .token.attr-value,
    .token.keyword {
        color: #CF8E6D;
    }

    .token.function,
    .token.class-name {
        color: #56A8F5;
    }

    .token.regex,
    .token.important,
    .token.variable {
        color: #B3AE60;
    }

    .token.important,
    .token.bold {
        font-weight: bold;
    }
    .token.italic {
        font-style: italic;
    }

    .token.entity {
        cursor: help;
    }

    pre[data-line] {
        position: relative;
        padding: 1em 0 1em 3em;
    }

    .line-highlight {
        position: absolute;
        left: 0;
        right: 0;
        padding: inherit;
        margin-top: 1em; /* Same as .prism's padding-top */

        background: rgba(86, 168, 245, .08);
        background: linear-gradient(to right, rgba(86, 168, 245, .1) 70%, rgba(86, 168, 245, 0));

        pointer-events: none;

        line-height: inherit;
        white-space: pre;
    }

    @media print {
        .line-highlight {
            /*
             * This will prevent browsers from replacing the background color with white.
             * It's necessary because the element is layered on top of the displayed code.
             */
            -webkit-print-color-adjust: exact;
            color-adjust: exact;
        }
    }

    .line-highlight:before,
    .line-highlight[data-end]:after {
        content: attr(data-start);
        position: absolute;
        top: .4em;
        left: .6em;
        min-width: 1em;
        padding: 0 .5em;
        background-color: rgba(86, 168, 245, .3);
        color: #56A8F5;
        font: bold 65%/1.5 sans-serif;
        text-align: center;
        vertical-align: .3em;
        border-radius: 999px;
        text-shadow: none;
        box-shadow: 0 1px white;
    }

    .line-highlight[data-end]:after {
        content: attr(data-end);
        top: auto;
        bottom: .4em;
    }

    .line-numbers .line-highlight:before,
    .line-numbers .line-highlight:after {
        content: none;
    }

    pre[id].linkable-line-numbers span.line-numbers-rows {
        pointer-events: all;
    }
    pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
        cursor: pointer;
    }
    pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
        background-color: rgba(86, 168, 245, .2);
    }

    pre[class*="language-"].line-numbers {
        position: relative;
        padding-left: 3.8em;
        counter-reset: linenumber;
    }

    pre[class*="language-"].line-numbers > code {
        position: relative;
        white-space: inherit;
    }

    .line-numbers .line-numbers-rows {
        position: absolute;
        pointer-events: none;
        top: 0;
        font-size: 100%;
        left: -3.8em;
        width: 3em; /* works for line-numbers below 1000 lines */
        letter-spacing: -1px;
        border-right: 1px solid #4B5059;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;

    }

    .line-numbers-rows > span {
        display: block;
        counter-increment: linenumber;
    }

    .line-numbers-rows > span:before {
        content: counter(linenumber);
        color: #4B5059;
        display: block;
        padding-right: 0.8em;
        text-align: right;
    }

    .token.tab:not(:empty),
    .token.cr,
    .token.lf,
    .token.space {
        position: relative;
    }

    .token.tab:not(:empty):before,
    .token.cr:before,
    .token.lf:before,
    .token.space:before {
        color: #6F737A;
        opacity: 0.6;
        position: absolute;
    }

    .token.tab:not(:empty):before {
        content: '\21E5';
    }

    .token.cr:before {
        content: '\240D';
    }

    .token.crlf:before {
        content: '\240D\240A';
    }
    .token.lf:before {
        content: '\240A';
    }

    .token.space:before {
        content: '\00B7';
    }

    .token a {
        color: inherit;
    }
    code[class*="language-"] a[href],
    pre[class*="language-"] a[href] {
        cursor: help;
        text-decoration: none;
    }

    code[class*="language-"] a[href]:hover,
    pre[class*="language-"] a[href]:hover {
        cursor: help;
        text-decoration: underline;
    }
    div.code-toolbar {
        position: relative;
    }

    div.code-toolbar > .toolbar {
        position: absolute;
        z-index: 10;
        top: .3em;
        right: .2em;
        transition: opacity 0.3s ease-in-out;
        opacity: 0;
    }

    div.code-toolbar:hover > .toolbar {
        opacity: 1;
    }

    /* Separate line b/c rules are thrown out if selector is invalid.
       IE11 and old Edge versions don't support :focus-within. */
    div.code-toolbar:focus-within > .toolbar {
        opacity: 1;
    }

    div.code-toolbar > .toolbar > .toolbar-item {
        display: inline-block;
    }

    div.code-toolbar > .toolbar > .toolbar-item > a {
        cursor: pointer;
    }

    div.code-toolbar > .toolbar > .toolbar-item > button {
        background: none;
        border: 0;
        color: inherit;
        font: inherit;
        line-height: normal;
        overflow: visible;
        padding: 0;
        -webkit-user-select: none; /* for button */
        -moz-user-select: none;
        -ms-user-select: none;
    }

    div.code-toolbar > .toolbar > .toolbar-item > a,
    div.code-toolbar > .toolbar > .toolbar-item > button,
    div.code-toolbar > .toolbar > .toolbar-item > span {
        color: #868A91;
        font-size: .8em;
        padding: 0 .5em;
        background: #393B40;
        background: rgba(57, 59, 64, 0.2);
        box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
        border-radius: .5em;
    }

    div.code-toolbar > .toolbar > .toolbar-item > a:hover,
    div.code-toolbar > .toolbar > .toolbar-item > a:focus,
    div.code-toolbar > .toolbar > .toolbar-item > button:hover,
    div.code-toolbar > .toolbar > .toolbar-item > button:focus,
    div.code-toolbar > .toolbar > .toolbar-item > span:hover,
    div.code-toolbar > .toolbar > .toolbar-item > span:focus {
        color: inherit;
        text-decoration: none;
    }

    span.inline-color-wrapper {
        /*
         * The background image is the following SVG inline in base 64:
         *
         * <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2">
         *     <path fill="gray" d="M0 0h2v2H0z"/>
         *     <path fill="white" d="M0 0h1v1H0zM1 1h1v1H1z"/>
         * </svg>
         *
         * SVG-inlining explained:
         * https://stackoverflow.com/a/21626701/7595472
         */
        background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4=");
        /* This is to prevent visual glitches where one pixel from the repeating pattern could be seen. */
        background-position: center;
        background-size: 110%;

        display: inline-block;
        height: 1.333ch;
        width: 1.333ch;
        margin: 0 .333ch;
        box-sizing: border-box;
        border: 1px solid white;
        outline: 1px solid rgba(0,0,0,.5);
        overflow: hidden;
    }

    span.inline-color {
        display: block;
        /* To prevent visual glitches again */
        height: 120%;
        width: 120%;
    }

    .prism-previewer,
    .prism-previewer:before,
    .prism-previewer:after {
        position: absolute;
        pointer-events: none;
    }
    .prism-previewer,
    .prism-previewer:after {
        left: 50%;
    }
    .prism-previewer {
        margin-top: -48px;
        width: 32px;
        height: 32px;
        margin-left: -16px;
        z-index: 10;

        opacity: 0;
        -webkit-transition: opacity .25s;
        -o-transition: opacity .25s;
        transition: opacity .25s;
    }
    .prism-previewer.flipped {
        margin-top: 0;
        margin-bottom: -48px;
    }
    .prism-previewer:before,
    .prism-previewer:after {
        content: '';
        position: absolute;
        pointer-events: none;
    }
    .prism-previewer:before {
        top: -5px;
        right: -5px;
        left: -5px;
        bottom: -5px;
        border-radius: 10px;
        border: 5px solid #2B2D30;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
    }
    .prism-previewer:after {
        top: 100%;
        width: 0;
        height: 0;
        margin: 5px 0 0 -7px;
        border: 7px solid transparent;
        border-color: rgba(255, 0, 0, 0);
        border-top-color: #2B2D30;
    }
    .prism-previewer.flipped:after {
        top: auto;
        bottom: 100%;
        margin-top: 0;
        margin-bottom: 5px;
        border-top-color: rgba(255, 0, 0, 0);
        border-bottom-color: #2B2D30;
    }
    .prism-previewer.active {
        opacity: 1;
    }

    .prism-previewer-angle:before {
        border-radius: 50%;
        background: #2B2D30;
    }
    .prism-previewer-angle:after {
        margin-top: 4px;
    }
    .prism-previewer-angle svg {
        width: 32px;
        height: 32px;
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
    .prism-previewer-angle[data-negative] svg {
        -webkit-transform: scaleX(-1) rotate(-90deg);
        -moz-transform: scaleX(-1) rotate(-90deg);
        -ms-transform: scaleX(-1) rotate(-90deg);
        -o-transform: scaleX(-1) rotate(-90deg);
        transform: scaleX(-1) rotate(-90deg);
    }
    .prism-previewer-angle circle {
        fill: transparent;
        stroke: hsl(200, 10%, 20%);
        stroke-opacity: 0.9;
        stroke-width: 32;
        stroke-dasharray: 0, 500;
    }

    .prism-previewer-gradient {
        background-image: linear-gradient(45deg, #313438 25%, transparent 25%, transparent 75%, #313438 75%, #313438), linear-gradient(45deg, #313438 25%, #393B40 25%, #393B40 75%, #313438 75%, #313438);
        background-size: 10px 10px;
        background-position: 0 0, 5px 5px;

        width: 64px;
        margin-left: -32px;
    }
    .prism-previewer-gradient:before {
        content: none;
    }
    .prism-previewer-gradient div {
        position: absolute;
        top: -5px;
        left: -5px;
        right: -5px;
        bottom: -5px;
        border-radius: 10px;
        border: 5px solid #2B2D30;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75);
    }

    .prism-previewer-color {
        background-image: linear-gradient(45deg, #313438 25%, transparent 25%, transparent 75%, #313438 75%, #313438), linear-gradient(45deg, #313438 25%, #393B40 25%, #393B40 75%, #313438 75%, #313438);
        background-size: 10px 10px;
        background-position: 0 0, 5px 5px;
    }
    .prism-previewer-color:before {
        background-color: inherit;
        background-clip: padding-box;
    }

    .prism-previewer-easing {
        margin-top: -76px;
        margin-left: -30px;
        width: 60px;
        height: 60px;
        background: #1E1F22;
    }
    .prism-previewer-easing.flipped {
        margin-bottom: -116px;
    }
    .prism-previewer-easing svg {
        width: 60px;
        height: 60px;
    }
    .prism-previewer-easing circle {
        fill: hsl(200, 10%, 20%);
        stroke: white;
    }
    .prism-previewer-easing path {
        fill: none;
        stroke: white;
        stroke-linecap: round;
        stroke-width: 4;
    }
    .prism-previewer-easing line {
        stroke: white;
        stroke-opacity: 0.5;
        stroke-width: 2;
    }

    @-webkit-keyframes prism-previewer-time {
        0% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: 0;
        }
        50% {
            stroke-dasharray: 100, 500;
            stroke-dashoffset: 0;
        }
        100% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: -100;
        }
    }

    @-o-keyframes prism-previewer-time {
        0% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: 0;
        }
        50% {
            stroke-dasharray: 100, 500;
            stroke-dashoffset: 0;
        }
        100% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: -100;
        }
    }

    @-moz-keyframes prism-previewer-time {
        0% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: 0;
        }
        50% {
            stroke-dasharray: 100, 500;
            stroke-dashoffset: 0;
        }
        100% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: -100;
        }
    }

    @keyframes prism-previewer-time {
        0% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: 0;
        }
        50% {
            stroke-dasharray: 100, 500;
            stroke-dashoffset: 0;
        }
        100% {
            stroke-dasharray: 0, 500;
            stroke-dashoffset: -100;
        }
    }

    .prism-previewer-time:before {
        border-radius: 50%;
        background: #2B2D30;
    }
    .prism-previewer-time:after {
        margin-top: 4px;
    }
    .prism-previewer-time svg {
        width: 32px;
        height: 32px;
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
    .prism-previewer-time circle {
        fill: transparent;
        stroke: hsl(200, 10%, 20%);
        stroke-opacity: 0.9;
        stroke-width: 32;
        stroke-dasharray: 0, 500;
        stroke-dashoffset: 0;
        -webkit-animation: prism-previewer-time linear infinite 3s;
        -moz-animation: prism-previewer-time linear infinite 3s;
        -o-animation: prism-previewer-time linear infinite 3s;
        animation: prism-previewer-time linear infinite 3s;
    }
    .command-line-prompt {
        border-right: 1px solid #4B5059;
        display: block;
        float: left;
        font-size: 100%;
        letter-spacing: -1px;
        margin-right: 1em;
        pointer-events: none;
        text-align: right;

        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    .command-line-prompt > span:before {
        opacity: 0.7;
        content: ' ';
        display: block;
        padding-right: 0.8em;
    }

    .command-line-prompt > span[data-user]:before {
        content: "[" attr(data-user) "@" attr(data-host) "] $";
    }

    .command-line-prompt > span[data-user="root"]:before {
        content: "[" attr(data-user) "@" attr(data-host) "] #";
    }

    .command-line-prompt > span[data-prompt]:before {
        content: attr(data-prompt);
    }

    .command-line-prompt > span[data-continuation-prompt]:before {
        content: attr(data-continuation-prompt);
    }

    .command-line span.token.output {
        /* Make shell output lines a bit lighter to distinguish them from shell commands */
        opacity: 0.7;
    }

    /* Fallback, in case JS does not run, to ensure the code is at least visible */
    [class*='lang-'] script[type='text/plain'],
    [class*='language-'] script[type='text/plain'],
    script[type='text/plain'][class*='lang-'],
    script[type='text/plain'][class*='language-'] {
        display: block;
        font: 100% Consolas, Monaco, monospace;
        white-space: pre;
        overflow: auto;
    }

    .token.punctuation.brace-hover,
    .token.punctuation.brace-selected {
        outline: solid 1px;
    }

    .rainbow-braces .token.punctuation.brace-level-1,
    .rainbow-braces .token.punctuation.brace-level-5,
    .rainbow-braces .token.punctuation.brace-level-9 {
        color: #E50;
        opacity: 1;
    }
    .rainbow-braces .token.punctuation.brace-level-2,
    .rainbow-braces .token.punctuation.brace-level-6,
    .rainbow-braces .token.punctuation.brace-level-10 {
        color: #0B3;
        opacity: 1;
    }
    .rainbow-braces .token.punctuation.brace-level-3,
    .rainbow-braces .token.punctuation.brace-level-7,
    .rainbow-braces .token.punctuation.brace-level-11 {
        color: #26F;
        opacity: 1;
    }
    .rainbow-braces .token.punctuation.brace-level-4,
    .rainbow-braces .token.punctuation.brace-level-8,
    .rainbow-braces .token.punctuation.brace-level-12 {
        color: #E0E;
        opacity: 1;
    }

    pre.diff-highlight > code .token.deleted:not(.prefix),
    pre > code.diff-highlight .token.deleted:not(.prefix) {
        background-color: rgba(255, 0, 0, .1);
        color: inherit;
        display: block;
    }

    pre.diff-highlight > code .token.inserted:not(.prefix),
    pre > code.diff-highlight .token.inserted:not(.prefix) {
        background-color: rgba(0, 255, 128, .1);
        color: inherit;
        display: block;
    }

    .token.treeview-part .entry-line {
        position: relative;
        text-indent: -99em;
        display: inline-block;
        vertical-align: top;
        width: 1.2em;
    }
    .token.treeview-part .entry-line:before,
    .token.treeview-part .line-h:after {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 50%;
        height: 100%;
    }
    .token.treeview-part .line-h:before,
    .token.treeview-part .line-v:before {
        border-left: 1px solid #313438;
    }
    .token.treeview-part .line-v-last:before {
        height: 50%;
        border-left: 1px solid #313438;
        border-bottom: 1px solid #313438;
    }
    .token.treeview-part .line-h:after {
        height: 50%;
        border-bottom: 1px solid #313438;
    }
    .token.treeview-part .entry-name {
        position: relative;
        display: inline-block;
        vertical-align: top;
    }
    .token.treeview-part .entry-name.dotfile {
        opacity: 0.5;
    }

    /* @GENERATED-FONT */
    @font-face {
        font-family: "PrismTreeview";
        /**
         * This font is generated from the .svg files in the `icons` folder. See the `treeviewIconFont` function in
         * `gulpfile.js/index.js` for more information.
         *
         * Use the following escape sequences to refer to a specific icon:
         *
         * - \ea01 file
         * - \ea02 folder
         * - \ea03 image
         * - \ea04 audio
         * - \ea05 video
         * - \ea06 text
         * - \ea07 code
         * - \ea08 archive
         * - \ea09 pdf
         * - \ea0a excel
         * - \ea0b powerpoint
         * - \ea0c word
         */
        src: url("data:application/font-woff;base64,d09GRgABAAAAAAgYAAsAAAAAEGAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPwAAAFY1UkH9Y21hcAAAAYQAAAB/AAACCtvO7yxnbHlmAAACBAAAA+MAAAlACm1VqmhlYWQAAAXoAAAAKgAAADZfxj5jaGhlYQAABhQAAAAYAAAAJAFbAMFobXR4AAAGLAAAAA4AAAA0CGQAAGxvY2EAAAY8AAAAHAAAABwM9A9CbWF4cAAABlgAAAAfAAAAIAEgAHZuYW1lAAAGeAAAATcAAAJSfUrk+HBvc3QAAAewAAAAZgAAAIka0DSfeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGRYyjiBgZWBgaGQoRZISkLpUAYOBj0GBiYGVmYGrCAgzTWFweEV4ysehs1ArgDDFgZGIA3CDAB2tQjAAHic7ZHLEcMwCESfLCz/VEoKSEE5parURxMOC4c0Ec283WGFdABgBXrwCAzam4bOK9KWeefM3Hhmjyn3ed+hTRq1pS7Ra/HjYGPniHcXMy4G/zNTP7/KW5HTXArkvdBW3ArN19dCG/NRIN8K5HuB/CiQn4U26VeBfBbML9NEH78AeJyVVc1u20YQ3pn905JcSgr/YsuSDTEg3cR1bFEkYyS1HQcQ2jQF2hot6vYSoECKnnPLA/SWUy9NTr31Bfp+6azsNI0SGiolzu7ODnfn+2Z2lnHG3rxhr9nfLGKbLGesncAYYnUHpsVnMG/uwyzNdFIVd6HI6twp8+R3LpT4TSglLoTHwwJgG2/dFvKrl9yI507/p5CCq4LTxB/PlPjkFaMHnWB/0S9je7RTPS+utnGtom1T2q5pk/e3H0M1S18rsXAL7wgpxQuhAmteGGvNjmcfGXuwnFNOPCXxeOGmnjrBLWNyBeNtVq2Hs03yus1aPS3mzSyNVSfu588iW1Q93x/4fjcHn+5EkS2tMxr4xIRa8ese+4L9uKZnxEqs8+ldyN9atU02a5t5uQ8hZGms1QTKpaKYqnipiNNOAIeIADC0JNEOYY+jtSgFoOchiAjRGFACpUTRje8bwIYWGCDEgENY8MEu9bnCYCdAxftoNg0KiSpUtPaHcanYwzXRu6T4r40b5npal3V7UHWCPJW9niyl1vIHgoujEXZjudBkeWkOeMQBRmbEPhKzij1i52t6/TadL+3q7H0U1eq4E8cG4gIIwQLx8VX7ToPXgPrehVc5QXHR7gMSmwjKfaYAP4KvZV+yn9bE18y2IY37LvtyrSg3i7ZK++B603ndlg/gBJpZRsfpBI6hyiaQ6FjlnThz8lAC3LgBIMnXDOAXxBQ4SIgiEhx2AcGCAwAhwjXRpCQms42bwAUt75BvAwgONzdgOfWEwzk4Ylzj4mz+5YEzzXzWX9aNlk7ot65y5QnBHsNlm6zDTu7sspRqG4V+fgJ1lVBZ07Nm7s5nemo3Lf3PO7iwtnroQ5/YDGwPRUip6fV6L+27p+wCHwSvPs85UnHqId8NAn5IBsKdv95KrL9m31Gsf2a/rluDslk1y1J9GE+LUmmVT/OyOHaFKGnapt2H5XeJTmKd6qYNoVVZOy+pWzr7rMip3ndG/4mQSoUcMbAqG/YNIAdXhkAqTVruXhocSKN0iS4Rwj7vSS4fcF/La07BfeQSuRAcFeW+9igjwPhhYPpGCBCBHhxiKMyFMFT7ziRH7RtfIWdiha+TdW+Rqs7bLHdN2ZJIKl0um0x3op9saYr0REeRdj09pl43pMzz4tjztrY8L4o8bzT+oLY27PR/eFtXs/YY5vtwB5Iqad14eYN0ujveMaGWqkdU3TKbQSC5Uvxaf4fA7SAQ3r2tEfIhd4duld91bwMisjqBw22orthNcroXl7KqO1329HBgAexgoCfGAwiDPoBnriki3lmNojrzvD0tjo6E3vPYP6E2BMIAeJxjYGRgYADiY8t3FsTz23xl4GbYzIAB/v9nWM6wBcjgYGAC8QH+QQhZAAB4nGNgZGBg2MzAACeXMzAyoAJeADPyAh14nGNgAILNpGEA0fgIZQAAAAAAAAA2AHIAvgE+AZgCCAKMAv4DlgPsBEYEoHicY2BkYGDgZchi4GQAASYg5gJCBob/YD4DABTSAZcAeJx9kU1uwjAQhV/4qwpqhdSqi67cTTeVEmBXDgBbhBD7AHYISuLUMSD2PUdP0HNwjp6i676k3qQS9Ujjb968mYUNoI8zPJTHw02Vy9PAFatfbpLuHbfIT47b6MF33KH+6riLF0wc93CHN27wWtdUHvHuuIFbfDhuUv903CKfHbfxgC/HHerfjrtYen3HPTx7ambiIl0YKQ+xPM5ltE9CU9NqxVKaItaZGPqDmj6VmTShlRuxOoniEI2sVUIZnYqJzqxMEi1yo3dybf2ttfk4CJTT/bVOMYNBjAIpFiTJOLCWOGLOHGGPBCE7l32XO0tmw04MjQwCQ7774B//lDmrZkJY3hvOrHBiLuiJMKJqoVgrejQ3CP5Yubt0JwxNJa96Oypr6j621VSOMQKG+uP36eKmHylcb0MAeJxtwdEOgjAMBdBeWEFR/Mdl7bTJtMsygc/nwVfPoYF+QP+tGDAigDFhxgVXLLjhjhUPCtmKTtmLaGN7x6dy/Io5bybqoevRQ3LRObb0sk3HKpn1SFqW6ru26vbpYfcmRCccJhqsAAA=")
        format("woff");
    }

    .token.treeview-part .entry-name:before {
        content: "\ea01";
        font-family: "PrismTreeview";
        font-size: inherit;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        width: 2.5ex;
        display: inline-block;
    }

    .token.treeview-part .entry-name.dir:before {
        content: "\ea02";
    }
    .token.treeview-part .entry-name.ext-bmp:before,
    .token.treeview-part .entry-name.ext-eps:before,
    .token.treeview-part .entry-name.ext-gif:before,
    .token.treeview-part .entry-name.ext-jpe:before,
    .token.treeview-part .entry-name.ext-jpg:before,
    .token.treeview-part .entry-name.ext-jpeg:before,
    .token.treeview-part .entry-name.ext-png:before,
    .token.treeview-part .entry-name.ext-svg:before,
    .token.treeview-part .entry-name.ext-tiff:before {
        content: "\ea03";
    }
    .token.treeview-part .entry-name.ext-cfg:before,
    .token.treeview-part .entry-name.ext-conf:before,
    .token.treeview-part .entry-name.ext-config:before,
    .token.treeview-part .entry-name.ext-csv:before,
    .token.treeview-part .entry-name.ext-ini:before,
    .token.treeview-part .entry-name.ext-log:before,
    .token.treeview-part .entry-name.ext-md:before,
    .token.treeview-part .entry-name.ext-nfo:before,
    .token.treeview-part .entry-name.ext-txt:before {
        content: "\ea06";
    }
    .token.treeview-part .entry-name.ext-asp:before,
    .token.treeview-part .entry-name.ext-aspx:before,
    .token.treeview-part .entry-name.ext-c:before,
    .token.treeview-part .entry-name.ext-cc:before,
    .token.treeview-part .entry-name.ext-cpp:before,
    .token.treeview-part .entry-name.ext-cs:before,
    .token.treeview-part .entry-name.ext-css:before,
    .token.treeview-part .entry-name.ext-h:before,
    .token.treeview-part .entry-name.ext-hh:before,
    .token.treeview-part .entry-name.ext-htm:before,
    .token.treeview-part .entry-name.ext-html:before,
    .token.treeview-part .entry-name.ext-jav:before,
    .token.treeview-part .entry-name.ext-java:before,
    .token.treeview-part .entry-name.ext-js:before,
    .token.treeview-part .entry-name.ext-php:before,
    .token.treeview-part .entry-name.ext-rb:before,
    .token.treeview-part .entry-name.ext-xml:before {
        content: "\ea07";
    }
    .token.treeview-part .entry-name.ext-7z:before,
    .token.treeview-part .entry-name.ext-bz:before,
    .token.treeview-part .entry-name.ext-bz2:before,
    .token.treeview-part .entry-name.ext-gz:before,
    .token.treeview-part .entry-name.ext-rar:before,
    .token.treeview-part .entry-name.ext-tar:before,
    .token.treeview-part .entry-name.ext-tgz:before,
    .token.treeview-part .entry-name.ext-zip:before {
        content: "\ea08";
    }
    .token.treeview-part .entry-name.ext-aac:before,
    .token.treeview-part .entry-name.ext-au:before,
    .token.treeview-part .entry-name.ext-cda:before,
    .token.treeview-part .entry-name.ext-flac:before,
    .token.treeview-part .entry-name.ext-mp3:before,
    .token.treeview-part .entry-name.ext-oga:before,
    .token.treeview-part .entry-name.ext-ogg:before,
    .token.treeview-part .entry-name.ext-wav:before,
    .token.treeview-part .entry-name.ext-wma:before {
        content: "\ea04";
    }
    .token.treeview-part .entry-name.ext-avi:before,
    .token.treeview-part .entry-name.ext-flv:before,
    .token.treeview-part .entry-name.ext-mkv:before,
    .token.treeview-part .entry-name.ext-mov:before,
    .token.treeview-part .entry-name.ext-mp4:before,
    .token.treeview-part .entry-name.ext-mpeg:before,
    .token.treeview-part .entry-name.ext-mpg:before,
    .token.treeview-part .entry-name.ext-ogv:before,
    .token.treeview-part .entry-name.ext-webm:before {
        content: "\ea05";
    }
    .token.treeview-part .entry-name.ext-pdf:before {
        content: "\ea09";
    }
    .token.treeview-part .entry-name.ext-xls:before,
    .token.treeview-part .entry-name.ext-xlsx:before {
        content: "\ea0a";
    }
    .token.treeview-part .entry-name.ext-doc:before,
    .token.treeview-part .entry-name.ext-docm:before,
    .token.treeview-part .entry-name.ext-docx:before {
        content: "\ea0c";
    }
    .token.treeview-part .entry-name.ext-pps:before,
    .token.treeview-part .entry-name.ext-ppt:before,
    .token.treeview-part .entry-name.ext-pptx:before {
        content: "\ea0b";
    }
}

.code-block {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.code-block-title {
    width: 100%;
    border-bottom-width: 2px;
    border-bottom-color: var(--bg-color);
    border-bottom-style: solid;
    background: var(--code-color);
    h3 {
        width: calc(100% - 40px);
        margin: 8px 20px;
        text-align: left;
    }
}
.code-block-inner {
    width: 100%;
    overflow-x: auto;
    /* Firefox滚动条样式 */
    scrollbar-width: thin;
    scrollbar-color: var(--text-color) transparent;
    background: var(--code-color);
}
/* Webkit浏览器滚动条样式 */
.code-block-inner::-webkit-scrollbar {
    height: 8px;
}
.code-block-inner::-webkit-scrollbar-track {
    background: transparent;
}
.code-block-inner::-webkit-scrollbar-thumb {
    background: var(--text-color);
    border-radius: 4px;
}
.code-block-inner::-webkit-scrollbar-button {
    display: none;
}




/* 索引部分 */

/* 放于头部的索引窗口 */
.head-index {
    display: flex;
    flex-direction: column;
}
.index-block {
    margin: 10px 0;
    border-style: solid;
    border-width: 2px;
    border-bottom-color: var(--text-color);
    padding: 10px;
    display: flex;
    flex-direction: column;
}
.index-box {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    div {
        width: max-content;
        min-width: 100%;
        .index-inner {
            width: calc(100% - 31px);
            min-width: calc(100% - 31px);
        }
    }
    /* Firefox滚动条样式 */
    scrollbar-width: thin;
    scrollbar-color: var(--text-color) transparent;
}
/* Webkit浏览器滚动条样式 */
.index-box::-webkit-scrollbar {
    height: 8px;
}
.index-box::-webkit-scrollbar-track {
    background: transparent;
}
.index-box::-webkit-scrollbar-thumb {
    background: var(--text-color);
    border-radius: 4px;
}
.index-box::-webkit-scrollbar-button {
    display: none;
}
/* 固定在页面左侧的索引窗口 */
.left-index-toggle {
    display: none;
}
.left-index-button {
    position: fixed;
    left: 0;
    top: calc(1cm + 20px);
    transform: translateY(-50%);
    z-index: 998;
    padding: 3px;
    background-color: var(--bg-color);
    border: 2px solid var(--text-color);
    cursor: pointer;
    user-select: none;
}
.left-index-button::after {
    content: "<|||";
}
.left-index-toggle:checked + .left-index-button::after {
    content: "|||>";
}
.left-index {
    position: fixed;
    left: 0;
    top: 0;
    width: 300px;
    height: 100vh;
    background-color: var(--bg-color);
    border-right: 2px solid var(--text-color);
    overflow-y: auto;
    transform: translateX(0);
    z-index: 997;
}
.left-index-toggle:checked ~ .left-index {
    transform: translateX(-100%);
}
.left-index-button {
    left: 300px;
}
.left-index-toggle:checked + .left-index-button{
    left: 0;
}
@media (any-hover: hover) {
    .left-index-button:hover {
        color: var(--bg-color);
        background: var(--text-color);
    }
}
@media (max-width: 767px) {
    .left-index {
        transform: translateX(-100%);
    }
    .left-index-toggle:checked ~ .left-index {
        transform: translateX(0);
    }
    .left-index-button {
        left: 0;
    }
    .left-index-toggle:checked + .left-index-button {
        left: 300px;
    }

    .left-index-button::after {
        content: "|||>";
    }
    .left-index-toggle:checked + .left-index-button::after {
        content: "<|||";
    }
}


/* 索引内的链接 */
.index-text {
    width: 100%;
    display: grid;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    grid-template-areas:
        "arrow text";
    grid-template-columns: max-content 1fr;
    a.text-button {
        grid-area: text;
        display: block;
        width: 100%;
    }
    a.index-arrow.text-button {
        grid-area: arrow;
    }
    margin: 10px 0;
}
/* 当前页面索引 */
.index-active {
    color: var(--bg-color) !important;
    background-color: var(--text-color);
}
/* 索引条目折叠 */
summary {
    list-style: none; /* 隐藏 Chrome/Edge 默认箭头 */
    /* 让整个 summary 无法被点击 */
    pointer-events: none;
    cursor: default;
}
summary::-webkit-details-marker {
    display: none; /* 隐藏 Safari 默认箭头 */
}
a.index-arrow {
    pointer-events: auto;
    cursor: pointer;
}
a.index-arrow::after {
    content: "[>]";
}
details[open] > summary span.index-text > a.index-arrow::after {
    content: "[v]";
}
/* 明确索引层次 */
.index-inner {
    padding-left: 30px;
    border-left-style: solid;
    border-left-width: 1px;
    border-left-color: var(--text-color);
}



/* 代码块 */


/* 各个页面特定部分 */

/* home(index) */
/* 主页标题部分 */
.home-title, .home-content {
    display: flex;
    flex-direction: column;
}
.home-title-logo {
    text-align: center;
    min-width: fit-content;
    margin: 0;
}
.home-title-info {
    text-align: left;
}
/* 桌面端主页标题Logo和文字 */
.home-title-info h2, .home-content h2 {
    font-size: 2rem;
    margin: 10px 0;
}
.home-title-info h1, .home-content h1 {
    font-size: 3rem;
    margin: 10px 0;
}

/* 移动端主页标题Logo和文字 */
@media screen and (max-width: 767px) {
    .home-title-info h2, .home-content h2 {
        font-size: 1.5rem;
        margin: 6px 0;
    }
    .home-title-info h1, .home-content h1 {
        font-size: 2rem;
        margin: 6px 0;
    }
}

/* 展示板样式 */
.display-board {
    width: 100%;
    height: 450px;
    overflow-x: auto;
    /* Firefox滚动条样式 */
    scrollbar-width: thin;
    scrollbar-color: var(--text-color) transparent;
}

/* Webkit浏览器滚动条样式 */
.display-board::-webkit-scrollbar {
    height: 8px;
}

.display-board::-webkit-scrollbar-track {
    background: transparent;
}

.display-board::-webkit-scrollbar-thumb {
    background: var(--text-color);
    border-radius: 4px;
}

.display-board::-webkit-scrollbar-button {
    display: none;
}

.display-board-inner {
    display: flex;
    gap: 20px;
    width: max-content;
    height: 100%;
}

.display-board-part-1,
.display-board-part-2,
.display-board-part-3 {
    width: min-content;
    height: 400px;
    flex-shrink: 0;
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    top: 25px;
    z-index: 998;
}

/* 第一个小块与 home-title-logo 对齐 */
.display-board-inner {
    padding: 0 calc((100vw - 950px) / 2);
}

/* 平板端 */
@media screen and (max-width: 1023px) {
    .display-board-inner {
        padding: 0 calc((100vw - 550px) / 2);
    }
}

/* 移动端 */
@media screen and (max-width: 767px) {
    .display-board-inner {
        padding: 0 calc((100vw - 350px) / 2);
    }
}

/* 狭窄移动端 */
@media screen and (max-width: 374px) {
    .display-board-inner {
        padding: 0 calc((100vw - 240px) / 2);
    }
}

/* 展示板一个模块内部 */
.ellipsis {
    width: 100%;
    display: -webkit-box;
}
@media screen and (max-width: 767px) {
    .ellipsis {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5; /* 这里设置显示的行数 */
        overflow: hidden;
    }
}
@media screen and (max-width: 374px) {
    .ellipsis {
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2; /* 这里设置显示的行数 */
        overflow: hidden;
    }
}



/* me */
.profile {
    display: grid;
    margin: 0 12vw;
    grid-template-areas:
        "area1 area2"
        "area3 area2";
    grid-template-rows: max-content 1fr;
}
.picture {
    grid-area: area1;
    width: min-content;
    height: 400px;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}
.links {
    grid-area: area3;
    width: min-content;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}
div.profile-picture {
    height: 100%;
    display: grid;
    grid-template-areas:
        "picture"
        "author";
    grid-template-rows: 1fr max-content;
    h3 {
        grid-area: author;
    }
}
img.profile-picture {
    width: 100%;
    grid-area: picture;
    object-fit: contain;
}
.bio {
    grid-area: area2;
    margin-left: 10px;
    width: calc(76vw - 355px);
}
@media screen and (max-width: 1023px) {
    .profile {
        margin: 0 6vw;
    }
    .bio {
        width: calc(88vw - 355px);
    }
}
@media screen and (max-width: 767px) {
    .profile {
        grid-template-areas:
            "area1"
            "area2"
            "area3";
    }
    .bio {
        margin-left: 0;
        width: 100%;
    }
}
@media screen and (max-width: 374px) {
    .picture {
        width: 236px;
        height: 300px;
    }
    img.profile-picture {
        height: 190px;
        width: 190px;
    }
    .links {
        width: 236px;
    }
}
@media screen and (max-width: 767px) {
    .bio-divider {
        text-align: center
    }
}
/* 个人资料表格 */
.bio-table {
    width: 100%;
}
.bio-table p, .bio-table h3, .links-inner p, .links-inner h3{
    margin: 5px 0;
}
.bio-label {
    width: 76px;
    text-align: left;
    vertical-align: top;
}
/* 个人资料链接 */
.links-inner h3 {
    text-align: left;
}



/* articles-index */




/* reader */
.reader-content {
    display: flex;
    flex-direction: column;
    width: calc(100% - 300px);
    margin-left: 300px;
    .footer {
        width: calc(100% - 300px);
    }
    p {
        font-size: 1.1rem;
        line-height: 1.75;
        margin: 1rem 0;
    }
    span.date {
        display: block;
        width: 100%;
        text-align: right;
    }
}
.reader-title {
    padding: 10px clamp(58px, calc(50% - 400px), calc(50% - 400px));
}
.reader-text {
    padding: 0 clamp(58px, calc(50% - 400px), calc(50% - 400px));
    img {
        width: 100%;
        object-fit: contain;
    }
}
.left-index-toggle:checked ~ .reader-content {
    width: 100%;
    margin-left: 0;
    .footer {
        width: 100%;
    }
}
/*上一章、下一章*/
.reader-bar {
    margin: 10px 0;
    padding: 0 clamp(58px, calc(50% - 400px), calc(50% - 400px));
    width: calc(100% - clamp(116px, calc(100% - 800px), calc(100% - 800px)));
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
            "last next";
}
.reader-bar-last {
    width: 100%;
    grid-area: last;
    a {
        display: block;
        width: 100%;
        text-align: center;
    }
}
.reader-bar-next {
    width: 100%;
    grid-area: next;
    a {
        display: block;
        width: 100%;
        text-align: center;
    }
}
@media screen and (max-width: 1145px) {
    .reader-title {
        padding: 10px clamp(60px, 8vw, 150px);
    }
    .reader-text, .reader-bar {
        padding: 0 clamp(50px, 5vw, 400px);
    }
    .reader-bar {
        width: calc(100% - clamp(100px, 10vw, 800px));
    }
}
@media screen and (max-width: 767px) {
    .reader-content {
        width: 100%;
        margin-left: 0;
        .footer {
            width: 100%;
        }
    }
    .left-index-toggle:checked ~ .reader-content {
        width: 100%;
        margin-left: 0;
        .footer {
            width: 100%;
        }
    }

    .reader-title {
        padding: 10px 30px;
    }
    .reader-text, .reader-bar {
        padding: 0 20px;
    }
    .reader-bar {
        width: calc(100% - 40px);
    }
    .reader-bar {
        grid-template-areas:
            "last next";
    }
}