@charset 'utf-8';

/**
 * frost — 浅灰磨砂传统风格博客主题（v2.5）
 * 设计：直角边框、统一浅灰磨砂底、宋体系字体
 * v2.2：文章区收进统一磨砂面板，内部发丝线分隔；无线电卡加墨蓝饰条。
 * v2.4：随机箴言移入顶部标题栏右侧（去篇名/横排），无线电卡改为
 *       「业余无线电信息栏」中英对照（旧书排布）。
 * v2.5：主页全面加大一档（约 +10~15%）；页脚登录恢复为链接式。
 * 布局：上部标题条；首页左下文章列表（大部分）+ 右下无线电信息栏
 * 原则：传统、简洁、无动画（仅保留极轻的悬停反馈）
 */

/* ---------- 设计变量 ---------- */
:root {
    --bg: #e9e9eb;                                  /* 页面底色（统一浅灰） */
    --card-bg: rgba(255, 255, 255, .72);            /* 磨砂卡片底色 */
    --card-border: rgba(255, 255, 255, .8);         /* 卡片描边 */
    --card-shadow: 0 2px 10px rgba(40, 45, 60, .06);
    --card-shadow-hover: 0 5px 18px rgba(40, 45, 60, .11);
    --text: #222326;                                /* 主文字 */
    --text-2: #565b63;                              /* 次要文字 */
    --text-3: #8a8f98;                              /* 弱化文字 */
    --accent: #3d5a80;                              /* 墨蓝（链接/按钮） */
    --hairline: rgba(50, 55, 70, .12);              /* 细分割线 */
    --radius: 0;                                    /* 直角 */
    /* 字体：经典美黑（安装则用）→ 等线 → 仿宋 → 宋体，含 mac 华文字体回退 */
    --font-body: "DengXian", "等线", "FangSong", "仿宋", "STFangSong",
        "SimSun", "宋体", "NSimSun", "Songti SC", serif;
    --font-title: "经典美黑", "JingDianMeiHei", "JingDian MeiHei",
        "DengXian", "等线", "SimSun", "宋体", "STSong", serif;
}

/* ---------- 基础 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--font-body);
    font-size: 19px;
    line-height: 1.7;
    color: var(--text);
    background: var(--bg);      /* 统一浅灰，无渐变 */
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

a { color: var(--accent); text-decoration: none; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------- 布局 ---------- */
.wrap {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px 64px;
}

/* 首页两栏：左下文章列表 + 右下无线电小方框 */
.home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 28px;
    align-items: start;
}
/* 非首页（分类/搜索/标签）单栏 */
.home-layout--single { grid-template-columns: minmax(0, 1fr); }
.home-aside { position: sticky; top: 120px; }

/* 文章页/独立页内容限宽居中；v2.8c 统一为 1120px（与关于页一致），不再使用 780px 窄阅读宽度 */
.post-single, .comments, .post-nav {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

/* ---------- 磨砂卡片通用 ---------- */
.glass-card {
    background: var(--card-bg);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
    backdrop-filter: blur(20px) saturate(1.6);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}

/* ---------- 顶部标题区（直角，非悬浮胶囊） ---------- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 10;
    max-width: 1160px;
    margin: 22px auto 30px;
    padding: 22px 34px 16px;
    background: var(--card-bg);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
    backdrop-filter: blur(20px) saturate(1.6);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}

/* 标题区两栏：左列 站名+导航；右列 箴言背景框（高度不超过左列） */
.site-title-layout {
    display: flex;
    gap: 30px;
    align-items: stretch;
}
.site-col-main { flex: 1; min-width: 0; }

.site-name {
    font-family: var(--font-title);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--text);
}
.site-name:hover { text-decoration: none; }

/* 随机箴言框：语句在上、出处在下的背景方框。
   宽度按最长箴言（约 134 字）设计 ≈ 3 行 13.5px + 出处 1 行，
   高度与左列（站名+导航）相当，不把标题栏撑高 */
.site-quote-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: none;
    width: 620px;
    max-width: 100%;
    padding: 12px 20px;
    background: rgba(255, 255, 255, .45);
    border: 1px solid rgba(50, 55, 70, .10);
}
.site-quote {
    font-family: 'SimSun', '宋体', 'NSimSun', 'STSong', 'Songti SC', serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-2);
    text-align: left;
    overflow-wrap: break-word;
}
.site-quote-src {
    display: block;
    margin-top: 6px;
    font-style: normal;
    font-size: 13px;
    color: var(--text-3);
    text-align: right;
}

/* 导航条：标题下一行（无分隔线） */
.site-nav {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 14px;
}
.site-nav a {
    color: var(--text-2);
    font-size: 16.5px;
    padding: 5px 12px;
}
.site-nav a:hover {
    background: rgba(40, 45, 60, .06);
    color: var(--text);
    text-decoration: none;
}
.site-nav a.current {
    background: rgba(61, 90, 128, .10);
    color: var(--accent);
}

/* ---------- 文章列表 ---------- */
.post-list { display: flex; flex-direction: column; gap: 20px; }

/* 文章区整体面板：所有文章收进一个磨砂大框，与右侧无线电卡形成明显分区;
   面板内部不再逐条套卡片，改为发丝线分隔的传统列表样式 */
.post-panel { padding: 20px 32px 27px; }

.post-panel .post-list { gap: 0; }

.post-panel .post-card {
    padding: 24px 0;
    background: none;
    box-shadow: none;
    border: none;
    border-bottom: 1px solid var(--hairline);
}
.post-panel .post-card:last-child { border-bottom: none; }
.post-panel .post-card:hover {
    box-shadow: none;
    background: rgba(40, 45, 60, .03);
}
.post-panel .post-card:hover .post-title a { color: var(--accent); }

.post-card {
    display: block;
    padding: 25px 29px;
    transition: box-shadow .18s ease;
}
.post-card:hover { box-shadow: var(--card-shadow-hover); }
.post-card:hover .post-title a { color: var(--accent); }

.post-title {
    font-family: var(--font-title);
    font-size: 22px;
    font-weight: 650;
    line-height: 1.45;
    margin-bottom: 8px;
}
.post-title a { color: var(--text); }
.post-title a:hover { text-decoration: none; }

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 15.5px;
    color: var(--text-3);
    margin-bottom: 10px;
}
.post-meta a { color: var(--text-3); }
.post-meta a:hover { color: var(--accent); }

.post-excerpt {
    font-size: 18px;
    color: var(--text-2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 分类/标签/搜索归档标题条 */
.archive-title {
    padding: 16px 28px;
    font-size: 17.5px;
    color: var(--text-2);
    margin-bottom: 20px;
}

/* 空状态（无文章 / 搜索无结果）—— 面板内为纯文字居中，不另行套卡 */
.empty-state { padding: 38px 8px; text-align: center; }
.empty-title { font-size: 20px; font-weight: 600; color: var(--text-2); }
.empty-sub { font-size: 17px; color: var(--text-3); margin-top: 6px; }

/* ---------- 分页 ---------- */
.page-navigator {
    display: flex;
    justify-content: center;
    gap: 6px;
    list-style: none;
    margin-top: 24px;
}

/* 面板内分页：与文章区以发丝线分隔 */
.post-panel .page-navigator {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--hairline);
}
.page-navigator li { display: inline; }
.page-navigator a {
    display: inline-block;
    min-width: 42px;
    padding: 8px 14px;
    text-align: center;
    font-size: 16.5px;
    color: var(--text-2);
    background: var(--card-bg);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}
.page-navigator a:hover { text-decoration: none; color: var(--accent); }
.page-navigator .current a { background: var(--accent); color: #fff; }

/* ---------- 首页板块分组 ---------- */
.post-group { margin-bottom: 8px; }

/* 板块组标题：细横线 + 传统字，链接点击进入板块归档页 */
.group-title {
    display: flex;
    align-items: baseline;
    gap: 12px;
    font-family: var(--font-title);
    font-size: 18.5px;
    font-weight: 650;
    letter-spacing: .05em;
    color: var(--text);
    margin: 26px 0 15px;
    padding-left: 14px;
    border-left: 3px solid var(--accent);       /* 与评论标题同款墨条 */
}
.post-group:first-child .group-title { margin-top: 0; }
.group-title a { color: var(--text); }
.group-title a:hover { color: var(--accent); text-decoration: none; }
.group-count { font-size: 15.5px; font-weight: 400; color: var(--text-3); letter-spacing: 0; }

/* 私密徽标：仅登录的站长能看到私密文章时伴随出现（提示自己哪些是私密的） */
.badge-private {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    color: #a05a1a;
    border: 1px solid rgba(160, 90, 26, .35);
    padding: 5px 9px;
}

/* 列表卡片中的标签 */
.post-tags a { margin-right: 2px; }
.post-tags a:last-child { margin-right: 0; }

/* ---------- 业余无线电信息栏（首页右栏） ----------
   顶部墨蓝饰条与文章区板块标头同款；中英对照排布（中文标签 + 英文小字，
   参照旧书横排对照：中文居左、英文标注居右，行内右列用衬线印刷体） */
.radio-card { padding: 20px 24px 18px; border-top: 3px solid var(--accent); }
.radio-title {
    font-family: var(--font-title);
    font-size: 18.5px;
    font-weight: 650;
    color: var(--text);
    margin-bottom: 4px;
}
.radio-title-en {
    display: block;
    margin-top: 2px;
    font-family: "Times New Roman", Times, serif;
    font-size: 12.5px;
    font-weight: 400;
    letter-spacing: .05em;
    color: var(--text-3);
}
.radio-list { list-style: none; margin-top: 9px; }
.radio-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--hairline);
}
.radio-list li:last-child { border-bottom: none; }
.radio-label { display: flex; align-items: baseline; gap: 8px; font-size: 17px; color: var(--text-2); }
.radio-label .en {
    font-family: "Times New Roman", Times, serif;
    font-size: 12px;
    letter-spacing: .06em;
    color: var(--text-3);
}
.radio-value {
    font-family: var(--font-title);
    font-size: 17.5px;
    color: var(--text);
    letter-spacing: .03em;
    text-align: right;
}
.radio-link:hover { color: var(--accent); }

/* ---------- 仅作者·标题可见（访客视角的锁定条目） ---------- */
.locked-title .post-title-text { color: var(--text-2); }
.locked-title .badge-private { margin-left: 8px; }
.post-locked-hint { font-size: 16px; color: var(--text-3); }

/* ---------- 文章页 ---------- */
.post-single { padding: 38px 42px; margin-bottom: 20px; }
.post-single .post-title { font-size: 29px; margin-bottom: 12px; }
.post-single .post-meta { margin-bottom: 22px; }

.post-content { font-size: 19px; color: #24292f; }
.post-content h2 { font-size: 1.3em; margin: 1.6em 0 .7em; }
.post-content h3 { font-size: 1.12em; margin: 1.4em 0 .6em; }
.post-content h4 { font-size: 1.02em; margin: 1.3em 0 .5em; }
.post-content p { margin: 0 0 1em; }
.post-content img { max-width: 100%; height: auto; }
.post-content a { border-bottom: 1px solid rgba(61, 90, 128, .3); }
.post-content a:hover { text-decoration: none; border-bottom-color: var(--accent); }
.post-content ul, .post-content ol { margin: 0 0 1em; padding-left: 1.6em; }
.post-content li { margin-bottom: .3em; }
.post-content blockquote {
    margin: 1em 0;
    padding: .5em 1.1em;
    color: var(--text-2);
    background: rgba(61, 90, 128, .06);
    border-left: 3px solid var(--accent);
}
.post-content blockquote p:last-child { margin-bottom: 0; }
.post-content pre {
    background: rgba(40, 45, 60, .05);
    padding: 14px 16px;
    overflow-x: auto;
    font-size: .9em;
    margin: 0 0 1em;
}
.post-content code {
    font-family: ui-monospace, 'SF Mono', Consolas, 'Courier New', monospace;
    font-size: .88em;
    background: rgba(40, 45, 60, .06);
    padding: .15em .45em;
}
.post-content pre code { background: none; padding: 0; font-size: 1em; }
.post-content hr { border: none; border-top: 1px solid var(--hairline); margin: 1.8em 0; }
.post-content table { border-collapse: collapse; width: 100%; margin: 0 0 1em; font-size: .92em; }
.post-content th, .post-content td { border: 1px solid var(--hairline); padding: 8px 12px; text-align: left; }
.post-content th { background: rgba(40, 45, 60, .04); }

.post-nav { margin-bottom: 16px; }
.post-nav a { font-size: 14px; color: var(--text-2); }
.post-nav a:hover { color: var(--accent); }

/* 密码保护文章表单（核心在 post-content 中输出 <form class="protected">） */
.post-content .protected {
    max-width: 460px;
    margin: 2.2em auto;
    padding: 22px 26px;
    text-align: center;
    background: rgba(255, 255, 255, .7);
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}
.post-content .protected p { margin-bottom: 14px; font-size: 14.5px; color: var(--text-2); }
.post-content .protected input[type='password'] {
    font: inherit;
    font-size: 14.5px;
    width: 100%;
    padding: 8px 12px;
    text-align: center;
    background: rgba(255, 255, 255, .85);
    border: 1px solid var(--hairline);
    border-radius: var(--radius);
    outline: none;
    margin-bottom: 12px;
}
.post-content .protected input[type='password']:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(61, 90, 128, .14);
}
.post-content .protected input[type='submit'] {
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    padding: 7px 24px;
    background: var(--accent);
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
}
.post-content .protected input[type='submit']:hover { background: #33506f; }

/* ---------- 评论 ---------- */
.comments { padding: 26px 34px; }
.comments-title { font-size: 15px; font-weight: 650; margin-bottom: 16px; }

/* 留言表单 */
#comment-form p { margin: 0 0 14px; }
#comment-form label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--text-2); }
#comment-form label.required::after { content: ' *'; color: rgba(40,40,45,.4); }
#comment-form input[type="text"],
#comment-form input[type="email"],
#comment-form input[type="url"],
#comment-form textarea {
    width: 100%; max-width: 420px; box-sizing: border-box;
    padding: 9px 12px; border: 1px solid rgba(40,40,45,.14); border-radius: var(--radius);
    background: #fff; color: inherit; font: inherit;
}
#comment-form textarea { max-width: 100%; }
#comment-form .submit {
    padding: 9px 22px; border: none; border-radius: var(--radius);
    background: var(--accent); color: #fff; font: inherit; cursor: pointer;
}
#comment-form .submit:hover { filter: brightness(1.08); }

.comment-list { list-style: none; }
.comment-list .comment-body { padding: 14px 0; border-bottom: 1px solid var(--hairline); }
.comment-list .comment-body:last-child { border-bottom: none; }

.comment-author { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; }
.comment-author .avatar { width: 36px; height: 36px; border-radius: var(--radius); }

.comment-meta { font-size: 12.5px; color: var(--text-3); margin: 4px 0 6px 46px; }
.comment-meta a { color: var(--text-3); }
.comment-meta a:hover { color: var(--accent); }
.comment-awaiting-moderation { color: #b08800; font-style: normal; margin-left: 8px; }

.comment-content { margin-left: 46px; font-size: 14.5px; color: #24292f; }

.comment-reply { margin-left: 46px; font-size: 12.5px; margin-top: 4px; }
.comment-reply a { color: var(--text-3); }
.comment-reply a:hover { color: var(--accent); }

/* 子评论缩进 */
.comment-list .comment-children { margin-left: 46px; padding-left: 16px; border-left: 2px solid var(--hairline); }
.comment-list .comment-children .comment-body:last-child { border-bottom: none; }

/* 回复中状态提示 */
.cancel-comment-reply { font-size: 13px; margin-bottom: 8px; }
.cancel-comment-reply a { color: var(--text-3); }
.cancel-comment-reply a:hover { color: var(--accent); }

/* 评论表单 */
#comment-form p { margin-bottom: 12px; }
#comment-form label { display: block; font-size: 13px; color: var(--text-2); margin-bottom: 4px; }
#comment-form .required::after { content: ' *'; color: #d1242f; }

.comment-fields { display: flex; gap: 12px; flex-wrap: wrap; }
.comment-fields p { flex: 1 1 180px; }

#comment-form input[type='text'],
#comment-form input[type='email'],
#comment-form input[type='url'],
#comment-form textarea {
    font: inherit;
    font-size: 14px;
    color: var(--text);
    width: 100%;
    padding: 9px 12px;
    background: rgba(255, 255, 255, .8);
    border: 1px solid var(--hairline);
    border-radius: var(--radius);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
#comment-form input:focus,
#comment-form textarea:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(61, 90, 128, .14);
}
#comment-form textarea { resize: vertical; }

#comment-form .submit {
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    padding: 8px 22px;
    background: var(--accent);
    border: none;
    border-radius: var(--radius);
    cursor: pointer;
    transition: background .15s ease;
}
#comment-form .submit:hover { background: #33506f; }

.comment-login { font-size: 13.5px; color: var(--text-2); }

/* 本地化首字母头像（AdminDashboard 插件输出，替代 gravatar） */
.avatar-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex: none;
    font-family: var(--font-title);
    font-size: 18px;
    color: #fff;
    border-radius: var(--radius);
    -webkit-user-select: none;
    user-select: none;
}

/* ---------- 关于页 ---------- */
/* 卡片比标题框（1160）略窄并居中；v2.5 中 .post-single 的 780px 阅读宽度对关于页过窄 */
.about-card { max-width: 1120px; }
/* 「关于」页标题：比文章标题（29px）更大并加字距，突出页面标题身份；
   卡片顶边距收窄 + 与箴言行轻微交叠（左右错位不冲突） */
.about-card { padding-top: 18px; }
.about-card .post-title { font-size: 34px; letter-spacing: .12em; margin-top: 0; }
/* 十六字箴言：框内右上角，横排两行，浅色宋体（衬楷笺头式） */
.about-motto {
    margin: 0 0 -10px;          /* 标题上移到此行内，与箴言纵坐标轻微重合 */
    text-align: right;
    font-family: 'SimSun', '宋体', 'NSimSun', 'STSong', 'Songti SC', serif;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: .1em;
    color: rgba(40, 40, 45, .38);
}

/* ---------- 页脚 ---------- */
.site-footer {
    padding: 10px 24px 48px;
    text-align: center;
    font-size: 15.5px;
    color: var(--text-3);
}
.site-footer a { color: var(--text-3); }
.site-footer a:hover { color: var(--accent); }
.footer-login { margin-top: 5px; }
.footer-login a {
    font-size: 15px;
    color: var(--text-3);
    border-bottom: 1px dotted transparent;
}
.footer-login a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.footer-login-sep { margin: 0 8px; color: var(--text-3); }

/* ---------- 移动端 ---------- */
@media (max-width: 760px) {
    .wrap { padding: 0 16px 48px; }
    /* 关于页：右对齐箴言缩一号 */
    .about-motto { font-size: 13px; }
    /* 两栏改单栏：文章列表在前，无线电框随后 */
    .home-layout { grid-template-columns: minmax(0, 1fr); }
    .home-aside { position: static; }
    .site-header { padding: 18px 20px 14px; }
    .site-name { font-size: 26px; }
    .site-quote-box { display: none; }
    .post-card { padding: 22px 24px; }
    .post-panel { padding: 16px 22px 20px; }
    .post-single { padding: 28px 24px; }
    .post-single .post-title { font-size: 25px; }
    .comments { padding: 22px 20px; }
    .comment-list .comment-children { margin-left: 20px; padding-left: 12px; }
    .comment-content, .comment-meta, .comment-reply { margin-left: 0; }
}
