/* ===================================================================
   博客园 · 亮色科幻主题 v2.0
   目标：干净、专业、可读性强，保留科幻风格的视觉特征
   =================================================================== */

/* ----- 1. 彻底重置博客园默认样式 ----- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 强制覆盖博客园默认背景和字体 */
body {
    background: #F6F8FA !important;
    color: #1E293B !important;
    font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    min-height: 100vh !important;
}

/* ----- 2. 主容器 ----- */
#home {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 24px 28px !important;
}

/* ----- 3. 头部 — 干净、简洁 ----- */
#header {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    padding: 32px 40px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    border: 1px solid #E8EDF2 !important;
    position: relative !important;
    overflow: hidden !important;
}

/* 头部底部装饰线 — 保留科幻感 */
#header::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #0099CC, #6D28D9, #0099CC) !important;
    background-size: 200% 100% !important;
    animation: headerGlow 4s ease-in-out infinite !important;
}

@keyframes headerGlow {
    0%, 100% { background-position: 0% 0%; opacity: 0.5; }
    50% { background-position: 100% 0%; opacity: 1; }
}

#blogTitle h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}
#blogTitle h1 a {
    color: #0F172A !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #0099CC, #6D28D9) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

#blogTitle h2 {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #94A3B8 !important;
    margin: 4px 0 0 0 !important;
    letter-spacing: 2px !important;
}
#blogTitle h2 a {
    color: #94A3B8 !important;
    text-decoration: none !important;
}

/* ----- 4. 导航 — 干净、清晰 ----- */
#navigator {
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid #E8EDF2 !important;
}

#navList {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}
#navList li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}
#navList a {
    display: inline-block !important;
    padding: 6px 18px !important;
    color: #64748B !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-radius: 20px !important;
    transition: all 0.25s ease !important;
}
#navList a:hover {
    color: #0F172A !important;
    background: #F1F5F9 !important;
}
#navList a.current {
    color: #0099CC !important;
    background: rgba(0, 153, 204, 0.08) !important;
}

/* ----- 5. 布局 ----- */
#main {
    display: flex !important;
    gap: 28px !important;
    align-items: flex-start !important;
}

#mainContent {
    flex: 1 !important;
    min-width: 0 !important;
}

.sidebar {
    width: 260px !important;
    flex-shrink: 0 !important;
}

/* ----- 6. 文章卡片 ----- */
#post-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#post-list .entrylist-item {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    margin-bottom: 20px !important;
    border: 1px solid #E8EDF2 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
    transition: all 0.25s ease !important;
}

#post-list .entrylist-item:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
    border-color: #D0D9E8 !important;
    transform: translateY(-1px) !important;
}

.entrylist-posttitle {
    margin-bottom: 8px !important;
}
.entrylist-posttitle a {
    color: #0F172A !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.entrylist-posttitle a:hover {
    color: #0099CC !important;
}

.entrylist-postsummary {
    color: #475569 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin: 8px 0 12px 0 !important;
}

.entrylistItemFooter {
    color: #94A3B8 !important;
    font-size: 13px !important;
}
.entrylistItemFooter a {
    color: #94A3B8 !important;
    text-decoration: none !important;
}
.entrylistItemFooter a:hover {
    color: #0099CC !important;
}

/* ----- 7. 文章详情页 ----- */
#post_detail {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    padding: 36px 40px !important;
    border: 1px solid #E8EDF2 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
}

#post_detail .postTitle {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #E8EDF2 !important;
    margin-bottom: 20px !important;
}

/* ----- 8. 文章正文 ----- */
#post_detail .postBody {
    color: #1E293B !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

#post_detail .postBody h2 {
    font-size: 22px !important;
    color: #0F172A !important;
    margin-top: 32px !important;
    margin-bottom: 12px !important;
    padding-left: 14px !important;
    border-left: 3px solid #0099CC !important;
}
#post_detail .postBody h3 {
    font-size: 18px !important;
    color: #0F172A !important;
    margin-top: 24px !important;
    margin-bottom: 10px !important;
}
#post_detail .postBody h4 {
    font-size: 16px !important;
    color: #0F172A !important;
    margin-top: 20px !important;
    margin-bottom: 8px !important;
}

#post_detail .postBody p {
    margin-bottom: 16px !important;
}

#post_detail .postBody a {
    color: #0099CC !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease !important;
}
#post_detail .postBody a:hover {
    border-bottom-color: #0099CC !important;
}

#post_detail .postBody blockquote {
    background: #F8FAFC !important;
    border-left: 3px solid #0099CC !important;
    padding: 14px 22px !important;
    margin: 20px 0 !important;
    border-radius: 0 6px 6px 0 !important;
    color: #334155 !important;
}

/* ----- 9. 代码块 (干净、清晰) ----- */
#post_detail .postBody pre,
#post_detail .postBody .cnblogs_code {
    background: #F1F5F9 !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    overflow-x: auto !important;
    color: #1E293B !important;
    margin: 16px 0 !important;
}

/* 代码语法高亮 — 亮色风格 */
#post_detail .postBody pre .comment,
#post_detail .postBody .cnblogs_code .comment {
    color: #6B8E7A !important;
}
#post_detail .postBody pre .keyword,
#post_detail .postBody .cnblogs_code .keyword {
    color: #6D28D9 !important;
}
#post_detail .postBody pre .string,
#post_detail .postBody .cnblogs_code .string {
    color: #0099CC !important;
}
#post_detail .postBody pre .function,
#post_detail .postBody .cnblogs_code .function {
    color: #0EA5E9 !important;
}
#post_detail .postBody pre .number,
#post_detail .postBody .cnblogs_code .number {
    color: #D97706 !important;
}

/* 行内代码 */
#post_detail .postBody code:not(pre code) {
    background: #F1F5F9 !important;
    color: #0099CC !important;
    padding: 0.1rem 0.4rem !important;
    border-radius: 4px !important;
    font-size: 0.9em !important;
}

/* ----- 10. 表格 ----- */
#post_detail .postBody table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 16px 0 !important;
    font-size: 14px !important;
}
#post_detail .postBody th {
    background: #F1F5F9 !important;
    color: #0F172A !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    border: 1px solid #E8EDF2 !important;
    text-align: left !important;
}
#post_detail .postBody td {
    padding: 10px 14px !important;
    border: 1px solid #E8EDF2 !important;
    color: #1E293B !important;
}

/* ----- 11. 文章标签 ----- */
#post_detail .postBody .postTags {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid #E8EDF2 !important;
}
#post_detail .postBody .postTags a {
    display: inline-block !important;
    background: #F1F5F9 !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 20px !important;
    padding: 2px 16px !important;
    margin: 2px 6px 2px 0 !important;
    font-size: 13px !important;
    color: #64748B !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
#post_detail .postBody .postTags a:hover {
    background: #0099CC !important;
    color: #FFFFFF !important;
    border-color: #0099CC !important;
}

/* ----- 12. 文章目录 ----- */
#toc {
    background: #F8FAFC !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
}
#toc .toc-title {
    color: #0F172A !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 6px !important;
}
#toc a {
    color: #64748B !important;
    text-decoration: none !important;
    font-size: 14px !important;
}
#toc a:hover {
    color: #0099CC !important;
}

/* ----- 13. 评论 ----- */
#comment_form {
    background: #FFFFFF !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    margin-top: 24px !important;
}
#comment_form textarea {
    background: #F8FAFC !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 8px !important;
    color: #1E293B !important;
    padding: 12px 16px !important;
    width: 100% !important;
    font-family: inherit !important;
    transition: border-color 0.2s ease !important;
}
#comment_form textarea:focus {
    border-color: #0099CC !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 153, 204, 0.1) !important;
}

/* ----- 14. 侧边栏 ----- */
.sidebar .catListTitle {
    color: #0F172A !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #E8EDF2 !important;
    margin-bottom: 12px !important;
}

.sidebar .catList {
    background: #FFFFFF !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}
.sidebar .catList ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.sidebar .catList li {
    padding: 3px 0 !important;
}
.sidebar .catList a {
    color: #64748B !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.sidebar .catList a:hover {
    color: #0099CC !important;
    padding-left: 4px !important;
}

/* ----- 15. 分页 ----- */
.pager {
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 24px !important;
}
.pager a,
.pager span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 14px !important;
    background: #FFFFFF !important;
    border: 1px solid #E8EDF2 !important;
    border-radius: 8px !important;
    color: #64748B !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}
.pager a:hover {
    border-color: #0099CC !important;
    color: #0099CC !important;
}
.pager .current {
    background: #0099CC !important;
    border-color: #0099CC !important;
    color: #FFFFFF !important;
}

/* ----- 16. 页脚 ----- */
#footer {
    text-align: center !important;
    padding: 32px 16px 16px !important;
    color: #94A3B8 !important;
    font-size: 13px !important;
    border-top: 1px solid #E8EDF2 !important;
    margin-top: 36px !important;
}
#footer a {
    color: #94A3B8 !important;
    text-decoration: none !important;
}
#footer a:hover {
    color: #0099CC !important;
}

/* ----- 17. 滚动条 (干净风格) ----- */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #F1F5F9; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94A3B8; }

/* ----- 18. 响应式 ----- */
@media (max-width: 768px) {
    #home { padding: 12px 16px !important; }
    #header { padding: 20px 24px !important; }
    #main { flex-direction: column !important; }
    .sidebar { width: 100% !important; }
    #post_detail { padding: 20px !important; }
    #post-list .entrylist-item { padding: 16px 20px !important; }
    #blogTitle h1 { font-size: 22px !important; }
    #post_detail .postTitle { font-size: 20px !important; }
}

@media (max-width: 480px) {
    #header { padding: 16px !important; }
    #post_detail { padding: 16px !important; }
    #post-list .entrylist-item { padding: 14px 16px !important; }
    .entrylist-posttitle a { font-size: 17px !important; }
}