/* ============================================================
   无名之乐园 全局样式
   ============================================================ */
/* ===== 1. 配色主题 ===== */


/* ===== 2. 基础重置 ===== */
*, *:before, *:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #d8d4cc;
    background-image:
        radial-gradient(#c9c5bd 2px, transparent 2px),
        radial-gradient(#c9c5bd 2px, transparent 2px);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    color: #3a3530;
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 14px;
    line-height: 1.7;
    transition: background-color 0.4s ease;
}

a {
    color: #5a5048;
    text-decoration: underline;
    transition: color 0.3s ease, background 0.3s ease;
}
a:visited { color: #4a4038; }
a:hover   { color: #3a3028; background: #f0ece6; }

/* 主题恢复时禁用过渡 */
.preload *, .preload *:before, .preload *:after {
    transition: none !important;
}

/* 列表链接悬停 */
.preview-list a:hover,
.article-list a:hover,
.archive-title a:hover,
.breadcrumb a:hover {
    color: #3a3028;
    background: #f0ece6;
}


/* ===== 3. 布局 ===== */
.wrapper {
    max-width: 860px;
    margin: 20px auto;
    background: #f5f3ef;
    border: 2px solid #9a9590;
    box-shadow: 4px 4px 0 #b0aba5;
    transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

/* 桌面端两栏布局，窄屏单栏 */
.main {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.content {
    display: table-cell;
    vertical-align: top;
    min-width: 300px;
    padding: 20px;
    border-right: 1px solid #c8c3bd;
    transition: border-color 0.4s ease;
}

.sidebar {
    display: table-cell;
    vertical-align: top;
    width: 260px;
    padding: 15px;
    background: #f0ece6;
    transition: background 0.4s ease;
}

/* -- 响应式：单栏布局 -- */
@media (max-width: 700px) {
    .main { display: block; }
    .content {
        display: block;
        width: auto;
        border-right: none;
        border-bottom: 1px solid #c8c3bd;
    }
    .sidebar {
        display: block;
        width: 100%;
    }
}


/* ===== 4. 顶部标题 ===== */
.site-header {
    text-align: center;
    padding: 30px 20px 20px;
    border-bottom: 2px dashed #b8b3ad;
    background: linear-gradient(to bottom, #ebe8e2, #f5f3ef);
    transition: border-color 0.4s ease;
}
.site-header h1 {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 32px;
    letter-spacing: 4px;
    color: #5a5048;
    text-shadow: 1px 1px 0 #b0aba5;
    transition: color 0.4s ease;
}
.site-header .title-en {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 1em;
    letter-spacing: 1px;
    white-space: nowrap;
}
.site-header .subtitle {
    font-size: 12px;
    color: #9a9590;
    margin-top: 8px;
    font-style: italic;
    transition: color 0.4s ease;
}

/* -- 响应式：窄屏站名 -- */
@media (max-width: 520px) {
    .site-header .title-en {
        display: block;
        font-size: 16px;
        margin-top: 2px;
    }
}


/* ===== 5. 导航栏 ===== */
.site-nav {
    background: #ddd8d2;
    border-bottom: 2px solid #b8b3ad;
    padding: 8px;
    text-align: center;
    transition: background 0.4s ease, border-color 0.4s ease;
}
/* 复古立体按钮：导航 / 折叠按钮 / 章节导航共用 */
.retro-btn {
    display: inline-block;
    font-family: inherit;
    font-size: inherit;
    text-decoration: none;
    cursor: pointer;
    border: 1px outset #c8c3bd;
    background: #f5f3ef;
    color: #5a5048;
    transition: color 0.3s ease, background 0.3s ease, border-color 0.4s ease;
}
.retro-btn:hover,
.retro-btn:active {
    border-style: inset;
    background: #ddd8d2;
    color: #3a3028;
}

.site-nav a.retro-btn {
    padding: 4px 12px;
    margin: 3px 2px; /* 窄屏按钮换行间距 */
    background: linear-gradient(to bottom, #ebe8e2, #f5f3ef);
    color: #3a3530;
    font-size: 13px;
}


/* ===== 6. 主题切换控件 ===== */
.theme-switcher {
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 999;
    background: #f5f3ef;
    border: 1px solid #b8b3ad;
    padding: 6px 8px;
    box-shadow: 2px 2px 0 #b0aba5;
    font-size: 0; /* 消除 inline-block 换行空白 */
}
.theme-switcher span {
    display: inline-block;
    vertical-align: middle;
    color: #9a9590;
    margin-right: 4px;
    font-size: 12px;
}

.theme-btn {
    display: inline-block;
    vertical-align: middle;
    width: 22px;
    height: 22px;
    margin-left: 6px;
    border: 2px solid #b8b3ad;
    cursor: pointer;
    transition: transform 0.2s, border-color 0.2s;
}
.theme-btn:hover   { transform: scale(1.15); }
.theme-btn.active  { border-color: #5a5048; outline: 2px solid #5a5048; outline-offset: 1px; }
/* 按钮色块不随激活主题变化 */
.theme-btn.beige   { background: #e8e4dc; }
.theme-btn.red     { background: #c9bfb5; }
.theme-btn.blue    { background: #c0c4c8; }


/* ===== 7. 文章卡片 ===== */
.post {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #b8b3ad;
    transition: border-color 0.4s ease;
}
.post.post-last { border-bottom: none; }

.post-title {
    font-size: 17px;
    font-weight: bold;
    color: #5a5048;
    margin-bottom: 6px;
    transition: color 0.4s ease;
}

.post-meta {
    font-size: 11px;
    color: #9a9590;
    margin-bottom: 10px;
    transition: color 0.4s ease;
}
.post-meta span { margin-right: 12px; }

.post-excerpt {
    text-indent: 2em;
    color: #4a4540;
    transition: color 0.4s ease;
}

.post-readmore {
    text-align: right;
    margin-top: 8px;
    font-size: 12px;
}
.post-readmore a,
.gal-cat-link a {
    text-decoration: none;
    border-bottom: 1px dotted #5a5048;
}


/* ===== 8. 近况告知 ===== */
.status-log {
    background: #f0ece6;
    border: 1px solid #b8b3ad;
    padding: 15px;
    margin-bottom: 25px;
    transition: background 0.4s ease, border-color 0.4s ease;
}
.status-log h3 {
    overflow: hidden; /* 包含右侧浮动的装饰文字 */
    font-size: 14px;
    border-bottom: 1px dashed #b8b3ad;
    padding-bottom: 6px;
    margin-bottom: 10px;
    color: #5a5048;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.status-decor {
    float: right;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

/* 带日期的日志条目（近况告知/技术日志共用） */
.event {
    margin-bottom: 12px;
    padding-left: 12px;
    border-left: 2px solid #b8b3ad;
    transition: border-color 0.4s ease;
}
.event-date {
    font-size: 11px;
    color: #9a9590;
    font-family: "Courier New", monospace;
    transition: color 0.4s ease;
}
.event-text {
    margin-top: 4px;
    color: #4a4540;
    transition: color 0.4s ease;
}


/* ===== 9. 侧边栏 ===== */
.widget {
    margin-bottom: 20px;
    border: 1px solid #b8b3ad;
    background: #f5f3ef;
    transition: border-color 0.4s ease, background 0.4s ease;
}
.widget-title {
    background: #ddd8d2;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: bold;
    border-bottom: 1px solid #b8b3ad;
    color: #5a5048;
    transition: color 0.4s ease, background 0.4s ease, border-color 0.4s ease;
}
.widget-body {
    padding: 10px;
    font-size: 12px;
}
.widget-center { text-align: center; }
.widget-hint {
    font-size: 11px;
    color: #9a9590;
    margin-top: 4px;
}

/* -- 全站图像组件 .media -- */
.media {
    text-align: center;
}

.media img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 4px;
    border: 1px solid #b8b3ad;
    background: #f5f3ef;
    box-shadow: 2px 2px 0 #c8c3bd;
    box-sizing: border-box;
    transition: border-color 0.4s ease, background-color 0.4s ease, box-shadow 0.4s ease;
}

.media .media-caption {
    margin-top: 6px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

/* 侧边栏功能图：简洁线框 */
.media--plain img {
    padding: 0;
    border: 2px solid #b8b3ad;
    background: #ddd8d2;
    box-shadow: none;
}

/* 侧边栏缩略图：只固定宽度，高度按原图比例自适应 */
.media--thumb img {
    width: 120px;
    height: auto;
}

/* 关于页立绘 */
.media--portrait {
    float: left;
    width: 120px;
    margin-right: 15px;
}

.media--portrait img {
    width: 100%;
}

/* 文章插图宽度档位：固定上限，窄屏时随容器收缩 */
.media--tall img   { width: 100%; max-width: 160px; }
.media--medium img { width: 100%; max-width: 240px; }
.media--large img  { width: 100%; max-width: 420px; }

.widget-body > .media--thumb {
    margin-bottom: 8px;
}

@media (max-width: 700px) {
    .media--portrait {
        float: none;
        margin: 0 auto 15px;
    }
    .about-inner-body .about-inner-text {
        margin-left: 0;
    }
}

.about-text {
    text-align: center;
    line-height: 1.8;
}

.qq-number {
    font-family: "Courier New", monospace;
    font-size: 14px;
    color: #7a6050;
    font-weight: bold;
}

.counter {
    text-align: center;
    font-family: "Courier New", monospace;
    font-size: 18px;
    color: #7a6050;
    letter-spacing: 2px;
    transition: color 0.4s ease;
}

/* RSS 订阅链接 */
.rss-link {
    display: inline-block;
    font-size: 0; /* 消除 inline-block 换行空白 */
    padding: 8px 16px;
    border: 1px outset #c8c3bd;
    background: #f5f3ef;
    text-decoration: none;
    transition: border-color 0.3s ease, background 0.3s ease;
}
.rss-link:hover {
    border-style: inset;
    background: #ddd8d2;
}
.rss-icon {
    display: inline-block;
    vertical-align: middle;
    padding: 2px 6px;
    margin-right: 8px;
    background: #e67e22;
    color: #fff;
    font-family: "Courier New", monospace;
    font-size: 11px;
    font-weight: bold;
    border: 1px solid #d35400;
}
.rss-text {
    display: inline-block;
    vertical-align: middle;
    color: #5a5048;
    font-size: 13px;
}
.rss-link:hover .rss-text {
    color: #3a3028;
}

/* ===== 10. 页脚 ===== */
.site-footer {
    text-align: center;
    padding: 20px;
    border-top: 2px dashed #b8b3ad;
    background: #ebe8e2;
    font-size: 11px;
    color: #9a9590;
    transition: color 0.4s ease, background 0.4s ease, border-color 0.4s ease;
}
.site-footer .divider {
    margin: 0 8px;
    color: #c8c3bd;
    transition: color 0.4s ease;
}
.icp-info {
    font-size: 10px;
    color: #9a9590;
}


/* ===== 11. 装饰元素 ===== */
.pixel-divider {
    text-align: center;
    color: #b8b3ad;
    font-size: 12px;
    letter-spacing: 4px;
    margin: 15px 0;
    transition: color 0.4s ease;
}

/* 独立虚线分隔线
   可用于空 div 或 hr，如 <div class="hr-dashed"></div> */
.hr-dashed {
    border: none;
    border-top: 2px dashed #b8b3ad;
    margin: 15px 0;
    transition: border-color 0.4s ease;
}

/* 闪烁动画；不支持 animation 的浏览器由 site.js 兜底 */

.blink {
    animation: blink 1s step-end infinite;
}
@keyframes blink {
    50% { opacity: 0; }
}


/* ===== 12. 关于页面 ===== */
.about-section {
    margin-bottom: 28px;
}
.about-section h2 {
    font-size: 15px;
    color: #5a5048;
    border-bottom: 1px dashed #b8b3ad;
    padding-bottom: 6px;
    margin-bottom: 12px;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.about-section p {
    text-indent: 2em;
    font-size: 13px;
    line-height: 1.8;
    color: #4a4540;
    margin-bottom: 8px;
    transition: color 0.4s ease;
}

/* 建站时长 */
.site-age {
    text-align: center;
    padding: 10px 0;
    font-size: 13px;
}
.site-age-label,
.site-age-days,
.site-age-unit {
    display: inline;
    vertical-align: middle;
}
.site-age-label,
.site-age-unit {
    font-size: 13px;
    color: #9a9590;
    transition: color 0.4s ease;
}
.site-age-days {
    font-family: "Courier New", monospace;
    font-size: 18px;
    color: #5a5048;
    letter-spacing: 2px;
    margin: 0 6px;
    transition: color 0.4s ease;
}

/* 自我介绍（里）：图文并排 */
.about-inner-body {
    overflow: hidden; /* 包含浮动的立绘 */
}

.about-inner-text { margin-left: 135px; } /* 120px 立绘 + 15px 间距 */
.about-inner-text p {
    text-indent: 0;
    padding-left: 0;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.8;
    color: #4a4540;
    transition: color 0.4s ease;
}

/* 技术日志时间线条目，复用 .event-* 样式 */
.timeline {
    font-size: 13px;
}


/* ===== 13. Ruby 注音文字 ===== */
ruby { ruby-align: center; }
rt {
    font-size: 0.65em;
    color: #9a9590;
    font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
    letter-spacing: 0.5px;
    transition: color 0.4s ease;
}


/* ===== 14. 滚动条 ===== */
::-webkit-scrollbar        { width: 12px; }
::-webkit-scrollbar-track  { background: #d8d4cc; transition: background 0.4s ease; }
::-webkit-scrollbar-thumb  { background: #b8b3ad; border: 2px solid #d8d4cc; transition: background 0.4s ease, border-color 0.4s ease; }


/* ===== 15. 索引页通用 ===== */

.page-title {
    font-size: 18px;
    color: #5a5048;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px dashed #b8b3ad;
    transition: color 0.4s ease, border-color 0.4s ease;
}

/* 介绍区块右移 2em */
.page-intro {
    font-size: 13px;
    color: #4a4540;
    margin-bottom: 25px;
    line-height: 1.7;
    margin-left: 2em;
    transition: color 0.4s ease;
}

.cat-block {
    margin-bottom: 20px;
    padding-bottom: 15px;
}

/* 分类描述右移 2em */
.cat-desc {
    font-size: 13px;
    line-height: 1.8;
    color: #4a4540;
    margin-left: 2em;
    margin-bottom: 10px;
    transition: color 0.4s ease;
}

.cat-meta {
    font-size: 11px;
    color: #9a9590;
    font-family: "Courier New", monospace;
    margin-bottom: 10px;
    transition: color 0.4s ease;
}

/* 归档页大标题 */
.archive-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 8px;
    transition: color 0.4s ease;
}

.archive-title a {
    text-decoration: none;
    color: #5a5048;
    border-bottom: 1px dotted #5a5048;
    transition: color 0.3s ease, background 0.3s ease;
}


/* ===== 16. 分类预览 ===== */
.category-preview {
    margin-top: 10px;
    border: 1px solid #b8b3ad;
    background: #f5f3ef;
    padding: 12px;
    transition: border-color 0.4s ease, background 0.4s ease;
}

.preview-section {
    margin-bottom: 0;
}
/* 区块间距放到后一个区块的上外边距，避免依赖 :last-child */
.preview-section + .preview-section {
    margin-top: 12px;
}

.preview-label {
    display: block;
    font-size: 11px;
    font-weight: bold;
    color: #5a5048;
    padding-left: 8px;
    border-left: 3px solid #b8b3ad;
    margin-bottom: 8px;
    letter-spacing: 1px;
    transition: color 0.4s ease, border-color 0.4s ease;
}

.preview-list a {
    display: block;
    font-size: 13px;
    color: #5a5048;
    text-decoration: none;
    padding: 3px 0;
    transition: color 0.3s ease, background 0.3s ease;
}
/* 分隔线统一放在后一项的上边框，避免依赖 :last-child */
.preview-list a + a {
    margin-top: 6px;
    border-top: 1px dotted #c8c3bd;
}

.preview-list .preview-date {
    font-family: "Courier New", monospace;
    font-size: 11px;
    color: #9a9590;
    margin-right: 8px;
    transition: color 0.4s ease;
}


/* ===== 17. 作品分类索引页 ===== */


.subcat-title {
    font-size: 15px;
    font-weight: bold;
    color: #5a5048;
    padding-left: 12px;
    border-left: 3px solid #b8b3ad;
    margin-bottom: 8px;
    transition: color 0.4s ease, border-color 0.4s ease;
}

.article-list {
    border: 1px solid #b8b3ad;
    background: #f5f3ef;
    transition: border-color 0.4s ease, background 0.4s ease;
}

.article-list a {
    display: block;
    font-size: 13px;
    color: #5a5048;
    text-decoration: none;
    padding: 8px 16px;
    transition: color 0.3s ease, background 0.3s ease;
}

/* 列表项分隔线 */
.article-list > a + a {
    border-top: 1px dotted #c8c3bd;
}

/* 折叠按钮 */

.article-toggle {
    text-align: right;
    margin-bottom: 6px;
}

.article-toggle .toggle-btn {
    font-size: 12px;
    padding: 3px 12px;
}

/* 系列内分组标题 */
.series-group {
    margin-bottom: 10px;
}

.series-group-title {
    font-size: 13px;
    font-weight: bold;
    color: #5a5048;
    padding-left: 10px;
    border-left: 2px solid #b8b3ad;
    margin-left: 14px;
    margin-bottom: 6px;
    transition: color 0.4s ease, border-color 0.4s ease;
}

/* ===== 18. 正文阅读页 ===== */

/* 正文页全宽内容区 */
.content-article {
    padding: 30px 40px;
    border-right: none;
}

/* 面包屑 */
.breadcrumb {
    font-size: 12px;
    color: #9a9590;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #b8b3ad;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.breadcrumb a {
    color: #5a5048;
    text-decoration: none;
    border-bottom: 1px dotted #5a5048;
    transition: color 0.3s ease, background 0.3s ease;
}
.breadcrumb span {
    color: #3a3530;
}

/* 文章容器 */
.article-body {
    max-width: 640px;
    margin: 0 auto;
}

/* 文章标题 */
.article-title {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 22px;
    color: #5a5048;
    margin-bottom: 12px;
    line-height: 1.4;
    text-align: center;
    transition: color 0.4s ease;
}

/* 元信息 */
.article-meta {
    text-align: center;
    font-size: 12px;
    color: #9a9590;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #b8b3ad;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.article-meta span {
    margin: 0 8px;
}

/* -- 正文：无衬线字体 -- */
.article-text {
    font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "WenQuanYi Micro Hei", sans-serif;
    font-size: 15px;
    line-height: 1.9;
    color: #3a3530;
    transition: color 0.4s ease;
}
.article-text p {
    margin-bottom: 1.2em;
    text-indent: 2em;
}
.article-text h2 {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 18px;
    color: #5a5048;
    margin: 1.8em 0 0.8em;
    padding-bottom: 6px;
    border-bottom: 1px dashed #b8b3ad;
    text-indent: 0;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.article-text h3 {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 16px;
    color: #5a5048;
    margin: 1.5em 0 0.6em;
    border-bottom: 1px dashed #b8b3ad;
    text-indent: 0;
    transition: color 0.4s ease;
}

/* 引用块（日志、内心独白等） */
.article-text blockquote {
    margin: 1.5em 2em;
    padding: 12px 18px;
    border-left: 3px solid #b8b3ad;
    background: #f0ece6;
    color: #4a4540;
    transition: border-color 0.4s ease, background 0.4s ease, color 0.4s ease;
}
.article-text blockquote p {
    text-indent: 0;
    margin-bottom: 0;
}

/* 段间距放到后一段的上外边距，避免依赖 :last-child；标题段沿用 0.6em */
.article-text blockquote p + p {
    margin-top: 0.8em;
}
.article-text blockquote .blockquote-heading + p {
    margin-top: 0.6em;
}

.article-text blockquote .blockquote-heading {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 14px;
    color: #5a5048;
    letter-spacing: 1px;
    margin-bottom: 0.6em;
    transition: color 0.4s ease;
}

/* 场景分隔线 */
.article-text .scene-break {
    text-align: center;
    color: #b8b3ad;
    font-size: 14px;
    letter-spacing: 4px;
    margin: 2em 0;
    transition: color 0.4s ease;
}

/* 正文中的媒体块 */
.article-text .media {
    margin: 1.8em 0;
}

/* -- 剧透遮罩（萌百 heimu 风格） --
   原理：背景色 = 文字色 → 文字隐身；hover/active/revealed 时文字变浅色浮出。
   背景始终常驻，读者始终能看到黑条的存在。 */

/* 结构：清除 button 默认样式，保持行内流 */
.spoiler {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-align: inherit;
    text-indent: 0;
    white-space: normal;
    cursor: pointer;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* 米色主题（默认） */
.spoiler {
    background-color: #3a3530;
    color: #3a3530;
}
blockquote .spoiler {
    background-color: #4a4540;
    color: #4a4540;
}
.spoiler:hover,
.spoiler:active,
.spoiler.revealed,
.spoiler:focus {
    color: #f5f3ef;
}
.spoiler:focus {
    outline: 1px dashed #b8b3ad;
    outline-offset: 2px;
}

/* -- 章节导航 -- */
.chapter-nav {
    overflow: hidden; /* 包含左右浮动按钮 */
    text-align: center;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 2px dashed #b8b3ad;
    font-size: 13px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    transition: border-color 0.4s ease;
}
.chapter-nav > .nav-prev { float: left; }
.chapter-nav > .nav-next { float: right; }
.chapter-nav a.retro-btn {
    padding: 5px 14px;
}
.chapter-nav .nav-index {
    font-size: 12px;
    background: none;
    border: none;
    padding: 0;
    text-decoration: underline;
}
.chapter-nav .nav-index:hover {
    background: none;
}
.chapter-nav .disabled {
    padding: 5px 14px;
    color: #9a9590;
    border: 1px solid #c8c3bd;
    background: #f0ece6;
    cursor: not-allowed;
    pointer-events: none;
}

/* -- 响应式：正文页 -- */
@media (max-width: 700px) {
    .content-article {
        padding: 20px 18px;
    }
    .article-body {
        max-width: 100%;
    }
    .article-text blockquote {
        margin: 1.2em 0.5em;
    }
}


/* ===== 19. 无障碍：减少动态效果 ===== */
/* 减少动态效果时禁用过渡和动画 */
@media (prefers-reduced-motion: reduce) {
    *,
    *:before,
    *:after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* ===== 20. 编年史时间轴 ===== */
/* 双列时间轴，窄屏单列 */
.chrono {
    position: relative;
    padding: 10px 0;
}

/* 中轴虚线 */
.chrono:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    border-left: 2px dashed #b8b3ad;
    transition: border-color 0.4s ease;
}

/* 纪元徽章 */
.chrono-era {
    position: relative;
    text-align: center;
    margin: 18px 0 24px;
}
.chrono-era span {
    display: inline-block;
    padding: 4px 16px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #5a5048;
    background: #ddd8d2;
    border: 1px outset #c8c3bd;
    transition: color 0.4s ease, background 0.4s ease, border-color 0.4s ease;
}

/* 时间轴条目 */
.chrono-entry {
    position: relative;
    width: 50%;
    padding: 0 26px 26px;
}
.chrono-entry.left  { left: 0; }
.chrono-entry.right { left: 50%; }

/* 时间轴节点 */
.chrono-entry:before {
    content: "";
    position: absolute;
    top: 6px;
    width: 8px;
    height: 8px;
    background: #f5f3ef;
    border: 2px solid #b8b3ad;
    transition: background 0.4s ease, border-color 0.4s ease;
}
.chrono-entry.left:before  { right: -7px; }
.chrono-entry.right:before { left: -7px; }

/* 时间轴卡片 */
.chrono-card {
    padding: 10px 14px;
    background: #f5f3ef;
    border: 1px solid #b8b3ad;
    transition: background 0.4s ease, border-color 0.4s ease;
}
/* 左侧卡片右对齐 */
.chrono-entry.left .chrono-card { text-align: right; }

.chrono-title {
    font-size: 14px;
    font-weight: bold;
    color: #5a5048;
    margin: 2px 0 4px;
    transition: color 0.4s ease;
}
.chrono-text {
    font-size: 13px;
    line-height: 1.8;
    color: #4a4540;
    transition: color 0.4s ease;
}

/* 时间轴收尾 */
.chrono-cap {
    position: relative;
    text-align: center;
}
.chrono-cap span {
    display: inline-block;
    padding: 0 10px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    color: #9a9590;
    background: #f5f3ef;
    transition: color 0.4s ease, background 0.4s ease;
}

/* -- 响应式：时间轴窄屏单列 -- */
@media (max-width: 700px) {
    .chrono:before { left: 12px; }
    .chrono-era {
        text-align: left;
        padding-left: 34px;
    }
    .chrono-entry.left,
    .chrono-entry.right {
        width: 100%;
        left: 0;
        padding: 0 0 22px 34px;
    }
    .chrono-entry.left .chrono-card { text-align: left; }
    .chrono-entry.left:before,
    .chrono-entry.right:before {
        left: 7px;
        right: auto;
    }
    .chrono-cap { text-align: left; padding-left: 34px; }
    .chrono-cap span { padding-left: 0; }
}


/* ===== 21. 悬浮返回顶部按钮 ===== */
.float-top-btn {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 100;
    display: block;
    width: 48px;
    height: 48px;
    padding-top: 8px;
    text-align: center;
    background: #ddd8d2;
    color: #5a5048;
    border: 2px solid #b8b3ad;
    box-shadow: 2px 2px 0 #b0aba5;
    text-decoration: none;
    /* 无 JS 时保持可见，有 JS 时滚动显隐 */
    transition: opacity 0.3s ease, visibility 0.3s ease,
                background 0.4s ease, color 0.4s ease,
                border-color 0.4s ease, box-shadow 0.4s ease;
}
.js .float-top-btn {
    opacity: 0;
    visibility: hidden;
}
.js .float-top-btn.visible {
    opacity: 1;
    visibility: visible;
}
.float-top-btn:hover {
    background: #f0ece6;
    color: #3a3028;
}
.float-top-btn:active {
    box-shadow: none;
    transform: translate(2px, 2px);
}
.float-top-btn .float-top-arrow {
    display: block;
    font-size: 16px;
    line-height: 1;
}
.float-top-btn .float-top-text {
    display: block;
    font-family: "Courier New", monospace;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 1px;
    margin-top: 2px;
}

@media (max-width: 700px) {
    .float-top-btn {
        right: 14px;
        bottom: 14px;
        width: 40px;
        height: 40px;
    }
}


/* ===== 22. 章节目录表 ===== */
/* 桌面端表格平铺，窄屏单列 */
.chapter-toc {
    width: 100%;
    margin: 0 0 2.2em;
    border-collapse: collapse;
    table-layout: fixed;
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 14px;
}

.chapter-toc caption {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 15px;
    letter-spacing: 4px;
    color: #5a5048;
    padding-bottom: 8px;
    transition: color 0.4s ease;
}

.chapter-toc td {
    border: 1px solid #b8b3ad;
    background: #f5f3ef;
    padding: 8px 12px;
    vertical-align: top;
    width: 25%;
    line-height: 1.6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: border-color 0.4s ease, background-color 0.4s ease;
}

.chapter-toc td:hover {
    background: #f0ece6;
}

.chapter-toc a {
    color: #5a5048;
    text-decoration: underline;
}

.chapter-toc a:hover {
    color: #3a3028;
    background: none;
}

.chapter-toc .toc-num {
    display: inline-block;
    text-decoration: none;
    font-family: "Courier New", monospace;
    font-size: 12px;
    color: #9a9590;
    margin-right: 6px;
    transition: color 0.4s ease;
}

/* 窄屏单列，隐藏空白补位格 */
@media (max-width: 700px) {
    .chapter-toc,
    .chapter-toc tbody,
    .chapter-toc tr,
    .chapter-toc td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .chapter-toc td:empty {
        display: none;
    }
}

/* 草稿按语 */
.article-text p.draft-note {
    color: #9a9590;
    font-size: 13px;
    text-indent: 2em;
    transition: color 0.4s ease;
}

/* 页内锚点跳转偏移：避开 fixed 定位的主题切换器 */
.article-text h2[id] {
    scroll-margin-top: 70px;
}

/* ===== 23. 错误页 ===== */
/* 错误页主区域 */
.error-box {
    padding: 32px 16px 24px;
    text-align: center;
}

/* 错误码 */
.error-code {
    font-family: "Courier New", monospace;
    font-size: 72px;
    font-weight: bold;
    color: #5a5048;
    letter-spacing: 8px;
    line-height: 1;
    transition: color 0.4s ease;
}

/* 光标颜色 */
.error-cursor {
    color: #9a9590;
}

.error-heading {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 20px;
    color: #5a5048;
    margin: 16px 0 12px;
    transition: color 0.4s ease;
}

.error-text {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 14px;
    color: #4a4540;
    line-height: 1.9;
    margin: 0 0 8px;
    transition: color 0.4s ease;
}

/* 返回按钮组 */
.error-actions {
    margin: 20px 0 8px;
    text-align: center;
}


.error-actions a.retro-btn {
    display: inline-block;
    margin: 0 6px 12px;
    padding: 5px 14px;
}

/* 推荐列表 */
.error-suggest {
    max-width: 420px;
    margin: 24px auto 0;
    text-align: left;
}

.error-suggest-title {
    font-family: "Times New Roman", "SimSun", "STSong", "Noto Serif CJK SC", serif;
    font-size: 13px;
    color: #9a9590;
    text-align: center;
    margin-bottom: 10px;
    transition: color 0.4s ease;
}

/* 推荐条目状态标签 */
.error-tag {
    font-family: "Courier New", monospace;
    font-size: 11px;
    color: #9a9590;
    float: right;
    transition: color 0.4s ease;
}

/* 页脚技术信息 */
.error-footnote {
    font-family: "Courier New", monospace;
    font-size: 11px;
    color: #9a9590;
    margin-top: 28px;
    transition: color 0.4s ease;
}

/* -- 响应式：窄屏缩小错误码 -- */
@media (max-width: 700px) {
    .error-code {
        font-size: 52px;
        letter-spacing: 5px;
    }
}

/* ===== 24. RSS 阅读页 ===== */
/* 订阅链接与返回按钮 */
.rss-url {
    display: block;
    background: #f0ece6;
    border: 1px solid #c8c3bd;
    padding: 8px 12px;
    margin-top: 8px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    color: #7a6050;
    word-break: break-all;
    transition: background 0.4s ease, border-color 0.4s ease, color 0.4s ease;
}

.rss-back {
    margin-top: 10px;
}

.rss-back .retro-btn {
    padding: 5px 14px;
}


/* ===== 25. 画廊 ===== */

/* -- 画集卡片 -- */
.album-card-row {
    margin: 12px 0 4px;
    zoom: 1;
}

.album-card-row:after {
    content: "";
    display: block;
    clear: both;
}

.album-card {
    float: left;
    width: 48%;
}

.album-card-last {
    margin-left: 4%;
}

.album-cover {
    display: block;
    padding: 5px;
    border: 1px solid #b8b3ad;
    background: #fff;
    box-shadow: 3px 3px 0 #c8c3bd;
    text-decoration: none;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

.album-cover:hover {
    border-color: #8a8078;
}

.album-cover img {
    display: block;
    width: 100%;
    height: auto;
}

.album-title {
    margin-top: 8px;
    text-align: center;
    font-weight: bold;
}

.album-meta {
    text-align: center;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

/* -- 散图分类 -- */
.gal-cat {
    margin: 16px 0 4px;
}

.gal-cat-title {
    font-size: 15px;
    font-weight: bold;
    color: #5a5048;
    border-left: 4px solid #b8b3ad;
    padding-left: 8px;
    transition: color 0.4s ease, border-color 0.4s ease;
}

.gal-cat-link {
    margin-top: 8px;
    font-size: 12px;
    text-align: left;
}

/* -- 缩略图墙 -- */
.gal-wall {
    margin: 10px 0 4px;
    zoom: 1;
}

.gal-wall:after {
    content: "";
    display: block;
    clear: both;
}

.gal-item {
    float: left;
    width: 150px;
    margin: 0 8px 18px 0;
}

.gal-item a {
    text-decoration: none;
}

/* table-cell + vertical-align: 真正的几何居中（IE8 原生支持），
   避免 line-height hack 依赖字体度量造成的偏移 */
.gal-thumb {
    display: table-cell;
    width: 148px;
    height: 116px;
    text-align: center;
    vertical-align: middle;
    background: #f0ece6;
    border: 1px solid #c8c3bd;
    transition: background 0.4s ease, border-color 0.4s ease;
}

.gal-thumb img {
    max-width: 138px;
    max-height: 106px;
    padding: 2px;
    border: 1px solid #b8b3ad;
    background: #fff;
    transition: border-color 0.4s ease;
}

.gal-item a:hover .gal-thumb {
    background: #e8e3dd;
}

.gal-cap {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    text-align: center;
    color: #9a9590;
    transition: color 0.4s ease;
}

/* 缩略图内携带的灯箱数据（.gal-meta / .gal-desc），
   由灯箱 JS 读取注入，页面本身不显示 */
.gal-data {
    display: none;
}

/* -- 点击查看大图（JS lightbox，ES3 兼容） -- */
/* 显隐由 JS 切换 .open 类控制；无 JS 时灯箱不显示，
   缩略图作为原图直链（target=_blank）保证可用。 */
.lb {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: auto;
}

.lb.open {
    display: block;
}

/* 灯箱打开时锁定背景滚动（JS 在 <html> 上切换此类） */
html.lb-lock, .lb-lock body {
    overflow: hidden;
}

/* 背景遮罩：整屏覆盖，JS 绑定点击关闭。
   IE8 用 filter:alpha 半透明（此元素无子节点，不影响内容）；
   现代浏览器用 rgba。 */
.lb-bg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: #2a2520;
    background: rgba(42, 37, 32, 0.9);
    filter: alpha(opacity=90);
    cursor: pointer;
}

.lb-inner {
    position: relative;
    width: 92%;
    max-width: 820px;
    margin: 30px auto;
    padding: 12px 16px 14px;
    background: #f5f3ef;
    border: 2px solid #9a9590;
    transition: background 0.4s ease, border-color 0.4s ease;
}

.lb-head {
    border-bottom: 1px dashed #c8c3bd;
    padding-bottom: 8px;
    zoom: 1;
    transition: border-color 0.4s ease;
}

.lb-head:after {
    content: "";
    display: block;
    clear: both;
}

.lb-title {
    font-weight: bold;
    color: #5a5048;
    transition: color 0.4s ease;
}

/* 灯箱 meta 信息行：参照正文页 .article-meta，
   内部 <span> 以 emoji 手工分段（📂 分类 / 🎨 画师 / 📅 日期） */
.lb-meta {
    margin-top: 8px;
    text-align: center;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

.lb-meta span {
    margin: 0 8px;
}

/* 灯箱简介：参照索引页 .page-intro */
.lb-desc {
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: center;
    font-size: 13px;
    line-height: 1.7;
    color: #4a4540;
    transition: color 0.4s ease;
}

.lb-close {
    float: right;
}

.lb-photo {
    margin: 12px 0;
    text-align: center;
}

.lb-photo img {
    display: block;
    margin: 0 auto;
    padding: 4px;
    border: 1px solid #b8b3ad;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.4s ease;
}

.lb-foot {
    text-align: center;
}

.lb-foot .retro-btn {
    margin: 0 3px;
}

/* 画廊内按钮统一内边距（基础 .retro-btn 不含 padding，
   导航按钮的内边距由 .site-nav 单独定义） */
.lb .retro-btn,
.album-player .retro-btn {
    padding: 4px 12px;
}

.lb-count {
    margin: 0 8px;
    font-family: "Courier New", monospace;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

.lb-orig {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
}

/* -- 画集阅读器（JS 增强 + 无 JS 降级） -- */
.album-player {
    display: none;
}

.js .album-player {
    display: block;
}

.js .album-fallback {
    display: none;
}

.album-vols {
    text-align: center;
    margin-bottom: 12px;
}

.album-vols .retro-btn {
    margin: 0 3px;
}

.album-vols .vol-tab-cur {
    border: 1px inset #c8c3bd;
    background: #e8e3dd;
}

.album-stage {
    text-align: center;
    padding: 12px;
    background: #f0ece6;
    border: 1px solid #c8c3bd;
    transition: background 0.4s ease, border-color 0.4s ease;
}

.album-stage img {
    max-width: 100%;
    height: auto;
    padding: 4px;
    border: 1px solid #b8b3ad;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.4s ease;
}

.album-controls {
    margin: 4px 0 10px;
    text-align: center;
}

.album-page-num {
    margin: 0 10px;
    font-family: "Courier New", monospace;
    color: #5a5048;
    transition: color 0.4s ease;
}

.album-page-title {
    margin: 12px 0 4px;
    text-align: center;
    font-size: 12px;
    color: #9a9590;
    transition: color 0.4s ease;
}

.album-strip {
    text-align: center;
    line-height: 1;
}

.album-strip a {
    display: inline-block;
    margin: 3px;
    padding: 2px;
    border: 2px solid #c8c3bd;
    background: #fff;
    transition: border-color 0.4s ease;
}

.album-strip a.strip-cur {
    border-color: #8a7a6a;
}

.album-strip img {
    display: block;
    width: 80px;
    height: auto;
}

.album-fallback .fallback-note {
    margin-bottom: 8px;
    font-size: 12px;
    color: #9a9590;
    text-align: center;
    transition: color 0.4s ease;
}

/* -- 响应式：画廊窄屏 -- */
@media (max-width: 700px) {
    .album-card {
        float: none;
        width: auto;
    }
    .album-card-last {
        margin-left: 0;
        margin-top: 18px;
    }
    .gal-item {
        width: 31%;
        margin-right: 2%;
    }
    .gal-thumb {
        width: 100%;
        height: 90px;
    }
    .gal-thumb img {
        max-width: 92%;
        max-height: 80px;
    }
    .lb-inner {
        width: 94%;
        margin: 12px auto;
        padding: 8px 10px 10px;
    }
}


/* ===== 26. 主题覆盖：红色调 ===== */

.theme-red body {
    background-color: #d8cfc7;
    background-image:
            radial-gradient(#c9bfb5 2px, transparent 2px),
            radial-gradient(#c9bfb5 2px, transparent 2px);
    color: #3d2e28;
}

.theme-red a {
    color: #7a3a2e;
}

.theme-red a:visited {
    color: #5a2a22;
}

.theme-red a:hover {
    color: #a04030;
    background: #f0e8e4;
}

.theme-red .preview-list a:hover,
.theme-red .article-list a:hover,
.theme-red .archive-title a:hover,
.theme-red .breadcrumb a:hover {
    color: #a04030;
    background: #f0e8e4;
}

.theme-red .wrapper {
    background: #f5eeea;
    border: 2px solid #9a7a6e;
    box-shadow: 4px 4px 0 #b8a098;
}

.theme-red .content {
    border-right: 1px solid #c8b8b0;
}

.theme-red .sidebar {
    background: #f0e8e4;
}

@media (max-width: 700px) {
    .theme-red .content {
        border-bottom: 1px solid #c8b8b0;
    }
}

.theme-red .site-header {
    border-bottom: 2px dashed #b8a098;
    background: linear-gradient(to bottom, #ebe0da, #f5eeea);
}

.theme-red .site-header h1 {
    color: #6a3a30;
    text-shadow: 1px 1px 0 #b8a098;
}

.theme-red .site-header .subtitle {
    color: #9a7a6e;
}

.theme-red .site-nav {
    background: #ddd0c8;
    border-bottom: 2px solid #b8a098;
}

.theme-red .retro-btn {
    border: 1px outset #c8b8b0;
    background: #f5eeea;
    color: #7a3a2e;
}

.theme-red .retro-btn:hover,
.theme-red .retro-btn:active {
    background: #ddd0c8;
    color: #a04030;
}

.theme-red .site-nav a.retro-btn {
    background: linear-gradient(to bottom, #ebe0da, #f5eeea);
    color: #3d2e28;
}

.theme-red .theme-switcher {
    background: #f5eeea;
    border: 1px solid #b8a098;
    box-shadow: 2px 2px 0 #b8a098;
}

.theme-red .theme-switcher span {
    color: #9a7a6e;
}

.theme-red .theme-btn {
    border: 2px solid #b8a098;
}

.theme-red .theme-btn.active {
    border-color: #6a3a30;
    outline: 2px solid #6a3a30;
}

.theme-red .post {
    border-bottom: 1px dotted #b8a098;
}
.theme-red .post.post-last { border-bottom: none; }

.theme-red .post-title {
    color: #6a3a30;
}

.theme-red .post-meta {
    color: #9a7a6e;
}

.theme-red .post-excerpt {
    color: #4a3a34;
}

.theme-red .post-readmore a,
.theme-red .gal-cat-link a {
    border-bottom: 1px dotted #7a3a2e;
}

.theme-red .status-log {
    background: #f0e8e4;
    border: 1px solid #b8a098;
}

.theme-red .status-log h3 {
    border-bottom: 1px dashed #b8a098;
    color: #6a3a30;
}

.theme-red .status-decor {
    color: #9a7a6e;
}

.theme-red .event {
    border-left: 2px solid #b8a098;
}

.theme-red .event-date {
    color: #9a7a6e;
}

.theme-red .event-text {
    color: #4a3a34;
}

.theme-red .widget {
    border: 1px solid #b8a098;
    background: #f5eeea;
}

.theme-red .widget-title {
    background: #ddd0c8;
    border-bottom: 1px solid #b8a098;
    color: #6a3a30;
}

.theme-red .widget-hint {
    color: #9a7a6e;
}

.theme-red .media img {
    border: 1px solid #b8a098;
    background: #f5eeea;
    box-shadow: 2px 2px 0 #c8b8b0;
}

.theme-red .media .media-caption {
    color: #9a7a6e;
}

.theme-red .media--plain img {
    border: 2px solid #b8a098;
    background: #ddd0c8;
}

.theme-red .qq-number {
    color: #8a3a30;
}

.theme-red .counter {
    color: #8a3a30;
}

.theme-red .rss-link {
    border: 1px outset #c8b8b0;
    background: #f5eeea;
}

.theme-red .rss-link:hover {
    background: #ddd0c8;
}

.theme-red .rss-text {
    color: #7a3a2e;
}

.theme-red .rss-link:hover .rss-text {
    color: #a04030;
}

.theme-red .site-footer {
    border-top: 2px dashed #b8a098;
    background: #ebe0da;
    color: #9a7a6e;
}

.theme-red .site-footer .divider {
    color: #c8b8b0;
}

.theme-red .icp-info {
    color: #9a7a6e;
}

.theme-red .pixel-divider {
    color: #b8a098;
}

.theme-red .hr-dashed {
    border-top: 2px dashed #b8a098;
}

.theme-red .about-section h2 {
    color: #6a3a30;
    border-bottom: 1px dashed #b8a098;
}

.theme-red .about-section p {
    color: #4a3a34;
}

.theme-red .site-age-label,
.theme-red .site-age-unit {
    color: #9a7a6e;
}

.theme-red .site-age-days {
    color: #6a3a30;
}

.theme-red .about-inner-text p {
    color: #4a3a34;
}

.theme-red rt {
    color: #9a7a6e;
}

html.theme-red::-webkit-scrollbar-track {
    background: #d8cfc7;
}

html.theme-red::-webkit-scrollbar-thumb {
    background: #b8a098;
    border: 2px solid #d8cfc7;
}

.theme-red .page-title {
    color: #6a3a30;
    border-bottom: 2px dashed #b8a098;
}

.theme-red .page-intro {
    color: #4a3a34;
}

.theme-red .cat-desc {
    color: #4a3a34;
}

.theme-red .cat-meta {
    color: #9a7a6e;
}

.theme-red .archive-title a {
    color: #6a3a30;
    border-bottom: 1px dotted #7a3a2e;
}

.theme-red .category-preview {
    border: 1px solid #b8a098;
    background: #f5eeea;
}

.theme-red .preview-label {
    color: #6a3a30;
    border-left: 3px solid #b8a098;
}

.theme-red .preview-list a {
    color: #7a3a2e;
}
.theme-red .preview-list a + a {
    border-top: 1px dotted #c8b8b0;
}

.theme-red .preview-list .preview-date {
    color: #9a7a6e;
}

.theme-red .subcat-title {
    color: #6a3a30;
    border-left: 3px solid #b8a098;
}

.theme-red .article-list {
    border: 1px solid #b8a098;
    background: #f5eeea;
}

.theme-red .article-list a {
    color: #7a3a2e;
}

.theme-red .article-list > a + a {
    border-top: 1px dotted #c8b8b0;
}

.theme-red .series-group-title {
    color: #6a3a30;
    border-left: 2px solid #b8a098;
}

.theme-red .breadcrumb {
    color: #9a7a6e;
    border-bottom: 1px dashed #b8a098;
}

.theme-red .breadcrumb a {
    color: #7a3a2e;
    border-bottom: 1px dotted #7a3a2e;
}

.theme-red .breadcrumb span {
    color: #3d2e28;
}

.theme-red .article-title {
    color: #6a3a30;
}

.theme-red .article-meta {
    color: #9a7a6e;
    border-bottom: 1px dashed #b8a098;
}

.theme-red .article-text {
    color: #3d2e28;
}

.theme-red .article-text h2 {
    color: #6a3a30;
    border-bottom: 1px dashed #b8a098;
}

.theme-red .article-text h3 {
    color: #6a3a30;
    border-bottom: 1px dashed #b8a098;
}

.theme-red .article-text blockquote {
    border-left: 3px solid #b8a098;
    background: #f0e8e4;
    color: #4a3a34;
}

.theme-red .article-text blockquote .blockquote-heading {
    color: #6a3a30;
}

.theme-red .article-text .scene-break {
    color: #b8a098;
}

.theme-red .chapter-nav {
    border-top: 2px dashed #b8a098;
}

.theme-red .chapter-nav .disabled {
    color: #9a7a6e;
    border: 1px solid #c8b8b0;
    background: #f0e8e4;
}

.theme-red .chrono:before {
    border-left: 2px dashed #b8a098;
}

.theme-red .chrono-era span {
    color: #6a3a30;
    background: #ddd0c8;
    border: 1px outset #c8b8b0;
}

.theme-red .chrono-entry:before {
    background: #f5eeea;
    border: 2px solid #b8a098;
}

.theme-red .chrono-card {
    background: #f5eeea;
    border: 1px solid #b8a098;
}

.theme-red .chrono-title {
    color: #6a3a30;
}

.theme-red .chrono-text {
    color: #4a3a34;
}

.theme-red .chrono-cap span {
    color: #9a7a6e;
    background: #f5eeea;
}

.theme-red .float-top-btn {
    background: #ddd0c8;
    color: #6a3a30;
    border: 2px solid #b8a098;
    box-shadow: 2px 2px 0 #b8a098;
}

.theme-red .float-top-btn:hover {
    background: #f0e8e4;
    color: #a04030;
}

.theme-red .chapter-toc caption {
    color: #6a3a30;
}

.theme-red .chapter-toc td {
    border: 1px solid #b8a098;
    background: #f5eeea;
}

.theme-red .chapter-toc td:hover {
    background: #f0e8e4;
}

.theme-red .chapter-toc a {
    color: #7a3a2e;
}

.theme-red .chapter-toc a:hover {
    color: #a04030;
}

.theme-red .chapter-toc .toc-num {
    color: #9a7a6e;
}

.theme-red .article-text p.draft-note {
    color: #9a7a6e;
}

.theme-red .error-code {
    color: #6a3a30;
}

.theme-red .error-cursor {
    color: #9a7a6e;
}

.theme-red .error-heading {
    color: #6a3a30;
}

.theme-red .error-text {
    color: #4a3a34;
}

.theme-red .error-suggest-title {
    color: #9a7a6e;
}

.theme-red .error-tag {
    color: #9a7a6e;
}

.theme-red .error-footnote {
    color: #9a7a6e;
}

.theme-red .rss-url {
    background: #f0e8e4;
    border: 1px solid #c8b8b0;
    color: #8a3a30;
}

/* 剧透遮罩 */
.theme-red .spoiler {
    background-color: #3d2e28;
    color: #3d2e28;
}
.theme-red blockquote .spoiler {
    background-color: #4a3a34;
    color: #4a3a34;
}
.theme-red .spoiler:hover,
.theme-red .spoiler:active,
.theme-red .spoiler.revealed,
.theme-red .spoiler:focus {
    color: #f5eeea;
}
.theme-red .spoiler:focus {
    outline: 1px dashed #b8a098;
}

/* 画廊 */
.theme-red .album-cover {
    border-color: #b8a098;
    box-shadow: 3px 3px 0 #c8b8b0;
}
.theme-red .album-cover:hover {
    border-color: #8a6a5e;
}
.theme-red .album-meta {
    color: #9a7a6e;
}
.theme-red .gal-cat-title {
    color: #6a3a30;
    border-left-color: #b8a098;
}
.theme-red .gal-thumb {
    background: #ddd0c8;
    border-color: #c8b8b0;
}
.theme-red .gal-thumb img {
    border-color: #b8a098;
}
.theme-red .gal-item a:hover .gal-thumb {
    background: #d5c6be;
}
.theme-red .gal-cap {
    color: #9a7a6e;
}
.theme-red .lb-inner {
    background: #f5eeea;
    border-color: #8a6a5e;
}
.theme-red .lb-head {
    border-bottom-color: #c8b8b0;
}
.theme-red .lb-title {
    color: #6a3a30;
}
.theme-red .lb-meta {
    color: #9a7a6e;
}
.theme-red .lb-desc {
    color: #4a3a34;
}
.theme-red .lb-photo img {
    border-color: #b8a098;
}
.theme-red .lb-count {
    color: #9a7a6e;
}
.theme-red .album-vols .vol-tab-cur {
    background: #ddd0c8;
}
.theme-red .album-stage {
    background: #ddd0c8;
    border-color: #c8b8b0;
}
.theme-red .album-stage img {
    border-color: #b8a098;
}
.theme-red .album-page-num {
    color: #6a3a30;
}
.theme-red .album-page-title {
    color: #9a7a6e;
}
.theme-red .album-strip a {
    border-color: #c8b8b0;
}
.theme-red .album-strip a.strip-cur {
    border-color: #8a3a30;
}
.theme-red .album-fallback .fallback-note {
    color: #9a7a6e;
}


/* ===== 27. 主题覆盖：蓝色调 ===== */

.theme-blue body {
    background-color: #d0d4d8;
    background-image:
            radial-gradient(#c0c4c8 2px, transparent 2px),
            radial-gradient(#c0c4c8 2px, transparent 2px);
    color: #2a3038;
}

.theme-blue a {
    color: #3a5a7a;
}

.theme-blue a:visited {
    color: #2a4058;
}

.theme-blue a:hover {
    color: #4a7090;
    background: #e8eaed;
}

.theme-blue .preview-list a:hover,
.theme-blue .article-list a:hover,
.theme-blue .archive-title a:hover,
.theme-blue .breadcrumb a:hover {
    color: #4a7090;
    background: #e8eaed;
}

.theme-blue .wrapper {
    background: #f0f2f5;
    border: 2px solid #8a9098;
    box-shadow: 4px 4px 0 #b0b8c0;
}

.theme-blue .content {
    border-right: 1px solid #c0c8d0;
}

.theme-blue .sidebar {
    background: #e8eaed;
}

@media (max-width: 700px) {
    .theme-blue .content {
        border-bottom: 1px solid #c0c8d0;
    }
}

.theme-blue .site-header {
    border-bottom: 2px dashed #b0b8c0;
    background: linear-gradient(to bottom, #e4e8ec, #f0f2f5);
}

.theme-blue .site-header h1 {
    color: #3a5068;
    text-shadow: 1px 1px 0 #b0b8c0;
}

.theme-blue .site-header .subtitle {
    color: #7a8088;
}

.theme-blue .site-nav {
    background: #d8dce0;
    border-bottom: 2px solid #b0b8c0;
}

.theme-blue .retro-btn {
    border: 1px outset #c0c8d0;
    background: #f0f2f5;
    color: #3a5a7a;
}

.theme-blue .retro-btn:hover,
.theme-blue .retro-btn:active {
    background: #d8dce0;
    color: #4a7090;
}

.theme-blue .site-nav a.retro-btn {
    background: linear-gradient(to bottom, #e4e8ec, #f0f2f5);
    color: #2a3038;
}

.theme-blue .theme-switcher {
    background: #f0f2f5;
    border: 1px solid #b0b8c0;
    box-shadow: 2px 2px 0 #b0b8c0;
}

.theme-blue .theme-switcher span {
    color: #7a8088;
}

.theme-blue .theme-btn {
    border: 2px solid #b0b8c0;
}

.theme-blue .theme-btn.active {
    border-color: #3a5068;
    outline: 2px solid #3a5068;
}

.theme-blue .post {
    border-bottom: 1px dotted #b0b8c0;
}
.theme-blue .post.post-last { border-bottom: none; }

.theme-blue .post-title {
    color: #3a5068;
}

.theme-blue .post-meta {
    color: #7a8088;
}

.theme-blue .post-excerpt {
    color: #3a4048;
}

.theme-blue .post-readmore a,
.theme-blue .gal-cat-link a {
    border-bottom: 1px dotted #3a5a7a;
}

.theme-blue .status-log {
    background: #e8eaed;
    border: 1px solid #b0b8c0;
}

.theme-blue .status-log h3 {
    border-bottom: 1px dashed #b0b8c0;
    color: #3a5068;
}

.theme-blue .status-decor {
    color: #7a8088;
}

.theme-blue .event {
    border-left: 2px solid #b0b8c0;
}

.theme-blue .event-date {
    color: #7a8088;
}

.theme-blue .event-text {
    color: #3a4048;
}

.theme-blue .widget {
    border: 1px solid #b0b8c0;
    background: #f0f2f5;
}

.theme-blue .widget-title {
    background: #d8dce0;
    border-bottom: 1px solid #b0b8c0;
    color: #3a5068;
}

.theme-blue .widget-hint {
    color: #7a8088;
}

.theme-blue .media img {
    border: 1px solid #b0b8c0;
    background: #f0f2f5;
    box-shadow: 2px 2px 0 #c0c8d0;
}

.theme-blue .media .media-caption {
    color: #7a8088;
}

.theme-blue .media--plain img {
    border: 2px solid #b0b8c0;
    background: #d8dce0;
}

.theme-blue .qq-number {
    color: #3a5a7a;
}

.theme-blue .counter {
    color: #3a5a7a;
}

.theme-blue .rss-link {
    border: 1px outset #c0c8d0;
    background: #f0f2f5;
}

.theme-blue .rss-link:hover {
    background: #d8dce0;
}

.theme-blue .rss-text {
    color: #3a5a7a;
}

.theme-blue .rss-link:hover .rss-text {
    color: #4a7090;
}

.theme-blue .site-footer {
    border-top: 2px dashed #b0b8c0;
    background: #e4e8ec;
    color: #7a8088;
}

.theme-blue .site-footer .divider {
    color: #c0c8d0;
}

.theme-blue .icp-info {
    color: #7a8088;
}

.theme-blue .pixel-divider {
    color: #b0b8c0;
}

.theme-blue .hr-dashed {
    border-top: 2px dashed #b0b8c0;
}

.theme-blue .about-section h2 {
    color: #3a5068;
    border-bottom: 1px dashed #b0b8c0;
}

.theme-blue .about-section p {
    color: #3a4048;
}

.theme-blue .site-age-label,
.theme-blue .site-age-unit {
    color: #7a8088;
}

.theme-blue .site-age-days {
    color: #3a5068;
}

.theme-blue .about-inner-text p {
    color: #3a4048;
}

.theme-blue rt {
    color: #7a8088;
}

html.theme-blue::-webkit-scrollbar-track {
    background: #d0d4d8;
}

html.theme-blue::-webkit-scrollbar-thumb {
    background: #b0b8c0;
    border: 2px solid #d0d4d8;
}

.theme-blue .page-title {
    color: #3a5068;
    border-bottom: 2px dashed #b0b8c0;
}

.theme-blue .page-intro {
    color: #3a4048;
}

.theme-blue .cat-desc {
    color: #3a4048;
}

.theme-blue .cat-meta {
    color: #7a8088;
}

.theme-blue .archive-title a {
    color: #3a5068;
    border-bottom: 1px dotted #3a5a7a;
}

.theme-blue .category-preview {
    border: 1px solid #b0b8c0;
    background: #f0f2f5;
}

.theme-blue .preview-label {
    color: #3a5068;
    border-left: 3px solid #b0b8c0;
}

.theme-blue .preview-list a {
    color: #3a5a7a;
}
.theme-blue .preview-list a + a {
    border-top: 1px dotted #c0c8d0;
}

.theme-blue .preview-list .preview-date {
    color: #7a8088;
}

.theme-blue .subcat-title {
    color: #3a5068;
    border-left: 3px solid #b0b8c0;
}

.theme-blue .article-list {
    border: 1px solid #b0b8c0;
    background: #f0f2f5;
}

.theme-blue .article-list a {
    color: #3a5a7a;
}

.theme-blue .article-list > a + a {
    border-top: 1px dotted #c0c8d0;
}

.theme-blue .series-group-title {
    color: #3a5068;
    border-left: 2px solid #b0b8c0;
}

.theme-blue .breadcrumb {
    color: #7a8088;
    border-bottom: 1px dashed #b0b8c0;
}

.theme-blue .breadcrumb a {
    color: #3a5a7a;
    border-bottom: 1px dotted #3a5a7a;
}

.theme-blue .breadcrumb span {
    color: #2a3038;
}

.theme-blue .article-title {
    color: #3a5068;
}

.theme-blue .article-meta {
    color: #7a8088;
    border-bottom: 1px dashed #b0b8c0;
}

.theme-blue .article-text {
    color: #2a3038;
}

.theme-blue .article-text h2 {
    color: #3a5068;
    border-bottom: 1px dashed #b0b8c0;
}

.theme-blue .article-text h3 {
    color: #3a5068;
    border-bottom: 1px dashed #b0b8c0;
}

.theme-blue .article-text blockquote {
    border-left: 3px solid #b0b8c0;
    background: #e8eaed;
    color: #3a4048;
}

.theme-blue .article-text blockquote .blockquote-heading {
    color: #3a5068;
}

.theme-blue .article-text .scene-break {
    color: #b0b8c0;
}

.theme-blue .chapter-nav {
    border-top: 2px dashed #b0b8c0;
}

.theme-blue .chapter-nav .disabled {
    color: #7a8088;
    border: 1px solid #c0c8d0;
    background: #e8eaed;
}

.theme-blue .chrono:before {
    border-left: 2px dashed #b0b8c0;
}

.theme-blue .chrono-era span {
    color: #3a5068;
    background: #d8dce0;
    border: 1px outset #c0c8d0;
}

.theme-blue .chrono-entry:before {
    background: #f0f2f5;
    border: 2px solid #b0b8c0;
}

.theme-blue .chrono-card {
    background: #f0f2f5;
    border: 1px solid #b0b8c0;
}

.theme-blue .chrono-title {
    color: #3a5068;
}

.theme-blue .chrono-text {
    color: #3a4048;
}

.theme-blue .chrono-cap span {
    color: #7a8088;
    background: #f0f2f5;
}

.theme-blue .float-top-btn {
    background: #d8dce0;
    color: #3a5068;
    border: 2px solid #b0b8c0;
    box-shadow: 2px 2px 0 #b0b8c0;
}

.theme-blue .float-top-btn:hover {
    background: #e8eaed;
    color: #4a7090;
}

.theme-blue .chapter-toc caption {
    color: #3a5068;
}

.theme-blue .chapter-toc td {
    border: 1px solid #b0b8c0;
    background: #f0f2f5;
}

.theme-blue .chapter-toc td:hover {
    background: #e8eaed;
}

.theme-blue .chapter-toc a {
    color: #3a5a7a;
}

.theme-blue .chapter-toc a:hover {
    color: #4a7090;
}

.theme-blue .chapter-toc .toc-num {
    color: #7a8088;
}

.theme-blue .article-text p.draft-note {
    color: #7a8088;
}

.theme-blue .error-code {
    color: #3a5068;
}

.theme-blue .error-cursor {
    color: #7a8088;
}

.theme-blue .error-heading {
    color: #3a5068;
}

.theme-blue .error-text {
    color: #3a4048;
}

.theme-blue .error-suggest-title {
    color: #7a8088;
}

.theme-blue .error-tag {
    color: #7a8088;
}

.theme-blue .error-footnote {
    color: #7a8088;
}

.theme-blue .rss-url {
    background: #e8eaed;
    border: 1px solid #c0c8d0;
    color: #3a5a7a;
}

/* 剧透遮罩 */
.theme-blue .spoiler {
    background-color: #2a3038;
    color: #2a3038;
}
.theme-blue blockquote .spoiler {
    background-color: #3a4048;
    color: #3a4048;
}
.theme-blue .spoiler:hover,
.theme-blue .spoiler:active,
.theme-blue .spoiler.revealed,
.theme-blue .spoiler:focus {
    color: #f0f2f5;
}
.theme-blue .spoiler:focus {
    outline: 1px dashed #b0b8c0;
}

/* 画廊 */
.theme-blue .album-cover {
    border-color: #b0b8c0;
    box-shadow: 3px 3px 0 #c0c8d0;
}
.theme-blue .album-cover:hover {
    border-color: #6a7a88;
}
.theme-blue .album-meta {
    color: #7a8088;
}
.theme-blue .gal-cat-title {
    color: #3a5068;
    border-left-color: #b0b8c0;
}
.theme-blue .gal-thumb {
    background: #d8dce0;
    border-color: #c0c8d0;
}
.theme-blue .gal-thumb img {
    border-color: #b0b8c0;
}
.theme-blue .gal-item a:hover .gal-thumb {
    background: #d0d6dc;
}
.theme-blue .gal-cap {
    color: #7a8088;
}
.theme-blue .lb-inner {
    background: #f0f2f5;
    border-color: #6a7a88;
}
.theme-blue .lb-head {
    border-bottom-color: #c0c8d0;
}
.theme-blue .lb-title {
    color: #3a5068;
}
.theme-blue .lb-meta {
    color: #7a8088;
}
.theme-blue .lb-desc {
    color: #3a4048;
}
.theme-blue .lb-photo img {
    border-color: #b0b8c0;
}
.theme-blue .lb-count {
    color: #7a8088;
}
.theme-blue .album-vols .vol-tab-cur {
    background: #d8dce0;
}
.theme-blue .album-stage {
    background: #d8dce0;
    border-color: #c0c8d0;
}
.theme-blue .album-stage img {
    border-color: #b0b8c0;
}
.theme-blue .album-page-num {
    color: #3a5068;
}
.theme-blue .album-page-title {
    color: #7a8088;
}
.theme-blue .album-strip a {
    border-color: #c0c8d0;
}
.theme-blue .album-strip a.strip-cur {
    border-color: #3a5a7a;
}
.theme-blue .album-fallback .fallback-note {
    color: #7a8088;
}
