/* 
Theme Name: 晴空天蓝 
Theme URI: 
Author: 自定义 
Description: 天蓝色卡片分类切换博客主题 
Version: 1.0 
License: GPLv2 
Tags: 天蓝色, 清新, 分类切换, 自适应, 无外链 
*/ 
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    font-family: system-ui, -apple-system, sans-serif; 
} 
/* 天蓝色全局配色变量 */ 
:root { 
    --primary: #3B82F6; /* 主天蓝色 */ 
    --primary-hover: #2563EB; /* 深蓝hover */ 
    --bg: #F0F7FF; /* 浅蓝灰背景 */ 
    --card: #FFFFFF; /* 白色卡片 */ 
    --border: #E0EFFF; /* 浅蓝边框 */ 
    --text1: #1E293B; /* 深灰文本 */ 
    --text2: #64748B; /* 浅灰文本 */ 
    --radius: 12px; 
    --shadow: 0 1px 3px rgba(59, 130, 246, 0.1); 
    --shadow-hover: 0 10px 20px rgba(59, 130, 246, 0.1); 
} 
body { 
    background: var(--bg); 
    color: var(--text1); 
    line-height: 1.6; 
} 
a { 
    color: var(--primary); 
    text-decoration: none; 
    transition: .3s; 
} 
a:hover { 
    color: var(--primary-hover); 
} 
.container { 
    max-width: 1100px; 
    margin: 0 auto; 
    padding: 0 20px; 
} 
/* 顶部导航 */ 
.site-header { 
    background: var(--card); 
    border-bottom: 1px solid var(--border); 
    padding: 15px 0; 
    position: sticky; 
    top: 0; 
    z-index: 999; 
} 
.header-inner { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
} 
.site-logo { 
    font-size: 20px; 
    font-weight: 700; 
    color: var(--primary); 
} 
.nav-list { 
    display: flex; 
    gap: 30px; 
    list-style: none; 
} 
.nav-list a { 
    color: var(--text1); 
    font-weight: 500; 
} 
.nav-list a:hover { 
    color: var(--primary); 
} 
.nav-toggle { 
    display: none; 
    font-size: 20px; 
    cursor: pointer; 
    color: var(--primary); 
} 
/* 分类选项卡 天蓝色高亮 */ 
.tab-wrap { 
    margin: 30px 0 20px; 
    border-bottom: 1px solid var(--border); 
    overflow-x: auto; 
} 
.tab-list { 
    display: flex; 
    gap: 25px; 
    list-style: none; 
    padding-bottom: 10px; 
} 
.tab-item { 
    white-space: nowrap; 
    font-weight: 500; 
    color: var(--text2); 
    padding-bottom: 10px; 
    border-bottom: 2px solid transparent; 
} 
.tab-item.active, .tab-item:hover { 
    color: var(--primary); 
    border-color: var(--primary); 
} 
.tab-item a { 
    color: inherit; 
    text-decoration: none; 
} 
/* 首页两栏卡片流 */ 
.card-flow { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px; 
    margin-bottom: 30px; 
} 
.card-item { 
    background: var(--card); 
    border-radius: var(--radius); 
    overflow: hidden; 
    box-shadow: var(--shadow); 
    transition: .3s; 
} 
.card-item:hover { 
    transform: translateY(-2px); 
    box-shadow: var(--shadow-hover); 
} 
.card-thumb img { 
    width: 100%; 
    height: 180px; 
    object-fit: cover; 
} 
.card-body { 
    padding: 20px; 
} 
.card-tag { 
    display: inline-block; 
    padding: 2px 8px; 
    background: var(--primary); 
    color: #fff; 
    font-size: 12px; 
    border-radius: 4px; 
    margin-bottom: 10px; 
} 
.card-title { 
    font-size: 18px; 
    margin-bottom: 10px; 
    line-height: 1.4; 
} 
.card-title a { 
    color: var(--text1); 
} 
.card-title a:hover { 
    color: var(--primary); 
} 
/* 首页50字摘要 */ 
.card-excerpt { 
    font-size: 13px; 
    color: var(--text2); 
    margin-bottom: 10px; 
    line-height: 1.5; 
} 
.card-meta { 
    font-size: 13px; 
    color: var(--text2); 
    display: flex; 
    justify-content: space-between; 
} 
/* 分页 天蓝色 */ 
.pagination { 
    display: flex; 
    gap: 8px; 
    justify-content: center; 
    margin: 30px 0; 
} 
.page-numbers { 
    padding: 8px 16px; 
    background: var(--card); 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    color: var(--text1); 
} 
.page-numbers.current { 
    background: var(--primary); 
    color: #fff; 
    border-color: var(--primary); 
} 
/* 猜你喜欢 3列带图卡片 */ 
.guess-wrap { 
    margin: 40px 0; 
} 
.guess-wrap h3 { 
    font-size: 18px; 
    margin-bottom: 20px; 
    color: var(--primary); 
} 
.guess-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 15px; 
} 
.guess-item { 
    background: var(--card); 
    border-radius: var(--radius); 
    overflow: hidden; 
    box-shadow: var(--shadow); 
    transition: .3s; 
} 
.guess-item:hover { 
    box-shadow: var(--shadow-hover); 
} 
.guess-item img { 
    width: 100%; 
    height: 120px; 
    object-fit: cover; 
} 
.guess-text { 
    padding: 12px; 
    font-size: 14px; 
} 
/* 文章页布局 */ 
.post-layout { 
    display: grid; 
    grid-template-columns: 1fr 280px; 
    gap: 30px; 
    margin-bottom: 30px; 
} 
.post-content { 
    background: var(--card); 
    border-radius: var(--radius); 
    padding: 40px; 
    box-shadow: var(--shadow); 
} 
.post-content h1 { 
    font-size: 26px; 
    margin-bottom: 15px; 
    line-height: 1.4; 
    color: var(--primary); 
} 
.post-meta { 
    font-size: 14px; 
    color: var(--text2); 
    padding-bottom: 15px; 
    border-bottom: 1px solid var(--border); 
    margin-bottom: 25px; 
} 
.post-body p { 
    margin-bottom: 15px; 
} 
.post-body img { 
    max-width: 100%; 
    border-radius: var(--radius); 
    margin: 15px 0; 
} 
.post-body h2, .post-body h3 { 
    margin: 25px 0 10px; 
    color: var(--primary); 
} 
/* 右侧悬浮侧边栏 */ 
.post-sidebar { 
    position: sticky; 
    top: 80px; 
    height: fit-content; 
} 
.side-widget { 
    background: var(--card); 
    border-radius: var(--radius); 
    padding: 20px; 
    margin-bottom: 20px; 
    box-shadow: var(--shadow); 
} 
.widget-title { 
    font-size: 16px; 
    margin-bottom: 15px; 
    padding-bottom: 8px; 
    border-bottom: 1px solid var(--border); 
    color: var(--primary); 
} 
.widget-list { 
    list-style: none; 
    font-size: 14px; 
} 
.widget-list li { 
    padding: 7px 0; 
    border-bottom: 1px dashed var(--border); 
} 
.search-form input { 
    width: 100%; 
    padding: 8px 12px; 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    background: var(--bg); 
} 
/* 相关推荐 2列竖排 与猜你喜欢完全不同 */ 
.related-wrap { 
    margin: 30px 0; 
} 
.related-wrap h3 { 
    font-size: 18px; 
    margin-bottom: 20px; 
    color: var(--primary); 
} 
.related-grid { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 12px; 
} 
.related-item { 
    background: var(--card); 
    border-radius: var(--radius); 
    padding: 12px 15px; 
    box-shadow: var(--shadow); 
    transition: .3s; 
} 
.related-item:hover { 
    transform: translateX(3px); 
    box-shadow: var(--shadow-hover); 
} 
.related-date { 
    font-size: 12px; 
    color: var(--text2); 
    margin-top: 8px; 
} 
/* 面包屑 */ 
.breadcrumb { 
    background: var(--card); 
    border-radius: 8px; 
    padding: 10px 15px; 
    font-size: 13px; 
    color: var(--text2); 
    margin: 20px 0; 
    box-shadow: var(--shadow); 
} 
/* 底部 */ 
.site-footer { 
    background: var(--card); 
    border-top: 1px solid var(--border); 
    padding: 25px 0; 
    text-align: center; 
    font-size: 14px; 
    color: var(--text2); 
    margin-top: 50px; 
} 
/* 返回顶部 天蓝色 */ 
.back-top { 
    position: fixed; 
    bottom: 30px; 
    right: 30px; 
    width: 40px; 
    height: 40px; 
    background: var(--primary); 
    color: #fff; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    cursor: pointer; 
    opacity: 0; 
    visibility: hidden; 
    transition: .3s; 
} 
.back-top.show { 
    opacity: 1; 
    visibility: visible; 
} 
/* 移动端自适应 */ 
@media (max-width: 768px) { 
    .nav-list { 
        position: absolute; 
        top: 100%; 
        left: 0; 
        width: 100%; 
        background: var(--card); 
        flex-direction: column; 
        gap: 0; 
        display: none; 
    } 
    .nav-list.show { 
        display: flex; 
    } 
    .nav-list li { 
        padding: 12px 20px; 
        border-bottom: 1px solid var(--border); 
    } 
    .nav-toggle { 
        display: block; 
    } 
    .card-flow { 
        grid-template-columns: 1fr; 
    } 
    .post-layout { 
        grid-template-columns: 1fr; 
    } 
    .post-content { 
        padding: 20px; 
    } 
    .guess-grid { 
        grid-template-columns: repeat(2, 1fr); 
    } 
    .related-grid { 
        grid-template-columns: 1fr; 
    } 
    .back-top { 
        bottom: 20px; 
        right: 20px; 
    } 
} 