/**
 * InitialPro 主题样式
 * 现代化、简洁、文字友好的 Typecho 主题
 * 
 * 特性：
 * - 优秀的中文排版
 * - 明暗双模式
 * - 网盘链接卡片
 * - 响应式布局
 */

/* =====================
   CSS 变量定义
   ===================== */
:root {
    /* 亮色主题 */
    --bg-color: #f8fafc;
    --bg-secondary: #f1f5f9;
    --bg-tertiary: #e2e8f0;
    --text-color: #1e293b;
    --text-light: #475569;
    --text-lighter: #94a3b8;
    --border-color: #e2e8f0;
    --border-light: #f1f5f9;
    --link-color: #6366f1;
    --link-hover: #4f46e5;
    --accent-color: #6366f1;
    --success-color: #00b894;
    --warning-color: #fdcb6e;
    --error-color: #d63031;
    
    /* 阴影 */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
    
    /* 圆角 */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    
    /* 间距 */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    
    /* 字体 */
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    --font-serif: Georgia, "Times New Roman", serif;
    --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    
    /* 字号 */
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    
    /* 行高 */
    --leading-tight: 1.25;
    --leading-normal: 1.6;
    --leading-relaxed: 1.8;
    
    /* 容器 */
    --container-max: 1200px;
    --container-post: 720px;
    
    /* 过渡 */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.3s ease;
}

/* 暗黑模式 */
html.dark {
    --bg-color: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #334155;
    --text-color: #e2e8f0;
    --text-light: #94a3b8;
    --text-lighter: #64748b;
    --border-color: #334155;
    --border-light: #1e293b;
    --link-color: #818cf8;
    --link-hover: #a5b4fc;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.5);
}

/* =====================
   基础重置
   ===================== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--text-color);
    background-color: var(--bg-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background-color var(--transition-normal), color var(--transition-normal);
}

a {
    color: var(--link-color);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul, ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: 600;
    line-height: var(--leading-tight);
    color: var(--text-color);
}

p {
    margin: 0 0 1em;
}

code {
    font-family: var(--font-mono);
    font-size: 0.9em;
    padding: 0.2em 0.4em;
    background: var(--bg-secondary);
    border-radius: var(--radius-sm);
    word-break: break-all;
}

pre {
    margin: 1em 0;
    padding: 1em;
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    overflow-x: auto;
    max-width: 100%;
    box-sizing: border-box;
}

pre code {
    padding: 0;
    background: none;
    word-break: normal;
    white-space: pre;
}

/* =====================
   容器与布局
   ===================== */
.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--space-lg);
}

#body {
    min-height: calc(100vh - 200px);
    padding: var(--space-xl) 0;
}

#main {
    float: left;
    width: calc(100% - 320px);
    overflow-wrap: break-word;
    word-break: break-word;
    overflow: hidden;
}

.one-col #main {
    width: 100%;
}

#sidebar {
    float: right;
    width: 280px;
    margin-left: var(--space-xl);
}

#sidebar.collapse {
    display: none;
}

.container::after {
    content: "";
    display: table;
    clear: both;
}

/* =====================
   头部导航
   ===================== */
#header {
    background: var(--bg-color);
    border-bottom: 1px solid var(--border-color);
    padding: var(--space-md) 0;
    position: relative;
    z-index: 100;
    transition: background-color var(--transition-normal), border-color var(--transition-normal);
}

.head-fixed #header {
    position: sticky;
    top: 0;
}

#header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.site-name {
    flex: 0 0 auto;
}

.site-title {
    font-size: var(--text-xl);
    font-weight: 700;
    margin: 0;
}

.site-title a {
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.site-title a:hover {
    text-decoration: none;
    color: var(--link-color);
}

.site-title img {
    height: 32px;
    width: auto;
}

/* 导航菜单 */
#nav {
    flex: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: 0;
    overflow: visible;
}

.nav-menu {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: flex-start;
}

.nav-menu li {
    position: relative;
}

/* 统一菜单项样式 - 浅灰背景，无蓝色竖线 */
.nav-menu li a {
    background: var(--bg-secondary);
    border-left: none;
}

.nav-menu li a:hover {
    background: var(--bg-tertiary);
    color: var(--link-color);
    text-decoration: none;
}

.nav-menu a {
    display: block;
    padding: var(--space-sm) var(--space-md);
    color: var(--text-color);
    font-size: var(--text-base);
    font-weight: 500;
    letter-spacing: 0.02em;
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
    white-space: nowrap;
}

/* 导航菜单图标 */
.nav-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    flex-shrink: 0;
}

.nav-menu a .nav-icon,
.nav-menu a > svg:first-child {
    vertical-align: -2px;
    margin-right: 4px;
}

/* MenuManager 菜单通用图标（通过 CSS 伪元素） */
.menu-manager li > a::before {
    content: "▸";
    display: inline-block;
    margin-right: 4px;
    color: var(--link-color);
    font-size: 0.7em;
    opacity: 0.6;
    transition: opacity var(--transition-fast);
}

.menu-manager li > a:hover::before {
    opacity: 1;
}

/* 首页菜单特殊图标（MenuManager 场景） */
.menu-manager li:first-child > a::before,
.nav-home > a::before {
    content: "" !important;
}

/* 分类/页面父菜单图标不覆盖 */
.nav-category > a .nav-icon,
.nav-page > a .nav-icon {
    color: var(--link-color);
    opacity: 0.8;
}

.nav-menu .menu-parent > a::after {
    content: " ▼";
    font-size: 0.6em;
}

/* 下拉菜单 - 默认隐藏，悬停或选中时显示 */
.nav-menu .menu-child {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 150px;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all var(--transition-fast);
    z-index: 10;
}

/* 悬停或选中(open)时显示下拉菜单 */
.nav-menu .menu-parent:hover > .menu-child,
.nav-menu .menu-parent.open > .menu-child {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 选中状态高亮 */
.nav-menu .menu-parent.open > a {
    background: var(--bg-tertiary);
    color: var(--link-color);
}

.menu-child li {
    border-bottom: 1px solid var(--border-light);
}

.menu-child li:last-child {
    border-bottom: none;
}

.menu-child a {
    padding: var(--space-sm) var(--space-md);
}

/* 搜索 — 好找 + 好认 + 好用 + 好适配 */
#site-search {
    position: relative;
    flex-shrink: 0;
    margin: 0 var(--space-md);
}

/* 表单容器：输入框与按钮一体化 */
#site-search form {
    display: flex;
    align-items: center;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    overflow: hidden;
}

#site-search form:hover {
    border-color: var(--text-light, #94a3b8);
}

#site-search form:focus-within {
    border-color: var(--link-color);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

/* 输入框 */
#site-search input {
    flex: 1;
    min-width: 0;
    padding: var(--space-xs) var(--space-sm);
    padding-left: var(--space-md);
    border: none;
    background: transparent;
    color: var(--text-color);
    font-size: var(--text-sm);
    width: 180px;
    outline: none;
}

#site-search input::placeholder {
    color: var(--text-light, #94a3b8);
}

#site-search input:focus {
    width: 220px;
}

/* 去掉 type=search 默认的清除按钮（各浏览器） */
#site-search input::-webkit-search-cancel-button,
#site-search input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

/* 搜索按钮：嵌入输入框右侧 */
#site-search button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--text-light, #94a3b8);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

#site-search button:hover {
    color: var(--link-color);
    background: rgba(99, 102, 241, 0.08);
}

#site-search button:active {
    background: rgba(99, 102, 241, 0.15);
}

#site-search form:focus-within button {
    color: var(--link-color);
}

/* 暗黑模式切换 */
#dark-mode-toggle {
    background: none;
    border: none;
    padding: var(--space-sm);
    cursor: pointer;
    color: var(--text-color);
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

#dark-mode-toggle:hover {
    background: var(--bg-secondary);
}

#dark-mode-toggle .icon-moon {
    display: block;
}

#dark-mode-toggle .icon-sun {
    display: none;
}

html.dark #dark-mode-toggle .icon-moon {
    display: none;
}

html.dark #dark-mode-toggle .icon-sun {
    display: block;
}

/* 移动端菜单 */
#nav-switch {
    display: none;
    align-items: center;
    gap: 4px;
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--text-color);
    font-size: var(--text-sm);
    font-weight: 500;
    white-space: nowrap;
    transition: all var(--transition-fast);
}

#nav-switch:hover {
    background: var(--border-color);
}

/* =====================
   文章卡片
   ===================== */
.post {
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    margin-bottom: var(--space-xl);
    transition: all var(--transition-normal);
}

.post:hover {
    box-shadow: var(--shadow-md);
    border-color: var(--link-color);
}

.post-title {
    font-size: var(--text-2xl);
    font-weight: 600;
    margin-bottom: var(--space-md);
}

.post-title a {
    color: var(--text-color);
}

.post-title a:hover {
    color: var(--link-color);
    text-decoration: none;
}

.post-meta {
    display: flex;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
    font-size: var(--text-sm);
    color: var(--text-light);
}

.post-meta li {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.post-thumb {
    margin-bottom: var(--space-lg);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.post-thumb img {
    width: 100%;
    height: auto;
    transition: transform var(--transition-normal);
}

.post:hover .post-thumb img {
    transform: scale(1.02);
}

.post-excerpt {
    color: var(--text-light);
    line-height: var(--leading-relaxed);
}

.post-content {
    line-height: 1.9;
    color: var(--text-color);
    font-size: var(--text-lg);
    overflow-wrap: break-word;
    word-break: break-word;
    /* 防止子元素溢出容器 */
    min-width: 0;
}

/* 所有直接子元素最大宽度限制 */
.post-content > * {
    max-width: 100%;
    box-sizing: border-box;
}

/* 强制断词换行（覆盖 inline white-space:nowrap 等溢出设置） */
.post-content p,
.post-content li,
.post-content div,
.post-content span {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
    text-wrap-mode: wrap !important;
}

/* 代码块保持原格式 */
.post-content pre,
.post-content code,
.post-content pre *,
.post-content code *,
.post-content .highlight * {
    white-space: pre !important;
    text-wrap-mode: nowrap !important;
}

.post-content a {
    color: var(--link-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.post-content a:hover {
    color: var(--link-hover);
}

.post-content p,
.post-content li,
.post-content div {
    overflow-wrap: break-word;
    word-break: break-word;
}

.post-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.post-content p {
    margin-bottom: 1.5em;
}

.post-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-md);
    margin: 1.5em auto;
}

/* 嵌入式媒体（视频/iframe等）宽度溢出修复 */
.post-content video,
.post-content iframe,
.post-content embed,
.post-content object {
    max-width: 100%;
    height: auto;
}

.post-content iframe {
    aspect-ratio: 16 / 9;
}

/* 引言块宽度控制 */
.post-content blockquote {
    margin: 1.5em 0;
    padding: 0.5em 1em;
    border-left: 4px solid var(--link-color);
    background: var(--bg-secondary);
    color: var(--text-light);
    max-width: 100%;
    box-sizing: border-box;
}

.post-content blockquote p:last-child {
    margin-bottom: 0;
}

.post-content h2, 
.post-content h3, 
.post-content h4, 
.post-content h5, 
.post-content h6 {
    margin-top: 2em;
    margin-bottom: 0.5em;
}

.post-content h2 { font-size: var(--text-2xl); }
.post-content h3 { font-size: var(--text-xl); }
.post-content h4 { font-size: var(--text-lg); }

.more {
    margin-top: var(--space-lg);
}

.more a {
    display: inline-block;
    padding: var(--space-sm) var(--space-lg);
    background: var(--link-color);
    color: #fff;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    transition: all var(--transition-fast);
}

.more a:hover {
    background: var(--link-hover);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* =====================
   网盘链接卡片
   ===================== */
.pan-card {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-lg);
    margin: var(--space-xl) 0;
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    border-left: 4px solid var(--accent-color);
    transition: all var(--transition-fast);
}

.pan-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateX(4px);
}

.pan-card.pan-gray {
    background: var(--bg-tertiary);
    border-left-color: var(--text-light);
}

.pan-card.pan-green {
    border-left-color: var(--success-color);
}

.pan-card.pan-orange {
    border-left-color: var(--warning-color);
}

.pan-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-color);
    border-radius: var(--radius-md);
    color: var(--accent-color);
}

.pan-info {
    flex: 1;
    min-width: 0;
}

.pan-name {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-color);
    margin-bottom: var(--space-xs);
}

.pan-type {
    font-size: var(--text-sm);
    color: var(--text-light);
}

.pan-actions {
    display: flex;
    gap: var(--space-sm);
    flex-shrink: 0;
}

.pan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-sm) var(--space-lg);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-decoration: none;
}

.pan-btn-primary {
    background: var(--link-color);
    color: #fff;
}

.pan-btn-primary:hover {
    background: var(--link-hover);
    color: #fff;
    text-decoration: none;
}

.pan-btn-copy {
    background: var(--bg-tertiary);
    color: var(--text-color);
}

.pan-btn-copy:hover {
    background: var(--text-lighter);
    color: var(--bg-color);
}

.pan-btn-copy.copied {
    background: var(--success-color);
    color: #fff;
}

.pan-pwd {
    margin-top: var(--space-sm);
    font-size: var(--text-sm);
    color: var(--text-light);
}

.pan-pwd code {
    background: var(--bg-color);
    padding: 0.2em 0.5em;
    border-radius: var(--radius-sm);
    color: var(--accent-color);
    font-weight: 600;
}

/* =====================
   侧边栏
   ===================== */
.widget {
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.widget-title {
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--link-color);
}

.widget-list li {
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-light);
}

.widget-list li:last-child {
    border-bottom: none;
}

.widget-list a {
    color: var(--text-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.widget-list a:hover {
    color: var(--link-color);
}

.widget-list .count {
    font-size: var(--text-xs);
    color: var(--text-light);
    background: var(--bg-secondary);
    padding: 0.2em 0.5em;
    border-radius: var(--radius-sm);
}

/* 标签云 */
.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.tag-cloud a {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    background: var(--bg-secondary);
    color: var(--text-color);
    font-size: var(--text-sm);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.tag-cloud a:hover {
    background: var(--link-color);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* =====================
   分页
   ===================== */
.page-navigator {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    margin: var(--space-xl) 0;
    padding: var(--space-lg) 0;
}

.page-navigator a,
.page-navigator span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--space-md);
    background: var(--bg-secondary);
    color: var(--text-color);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    transition: all var(--transition-fast);
}

.page-navigator a:hover {
    background: var(--link-color);
    color: #fff;
    text-decoration: none;
}

.page-navigator .current {
    background: var(--link-color);
    color: #fff;
}

/* =====================
   面包屑导航
   ===================== */
.breadcrumbs {
    padding: var(--space-md) 0;
    margin-bottom: var(--space-lg);
    font-size: var(--text-sm);
    color: var(--text-light);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
}

.breadcrumbs a {
    color: var(--text-light);
    display: inline-flex;
    align-items: center;
}

.breadcrumbs a:hover {
    color: var(--link-color);
}

.bc-icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
    flex-shrink: 0;
}

/* =====================
   文章页
   ===================== */
.page .post-title,
.post .post-title {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-lg);
}

.page .post-content,
.post .post-content {
    font-size: var(--text-lg);
    max-width: var(--container-post);
}

/* 文章目录 */
#catalog-col {
    position: sticky;
    top: 80px;
    float: right;
    width: 220px;
    margin-left: var(--space-xl);
    margin-bottom: var(--space-xl);
    padding: var(--space-lg);
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

#catalog-col b {
    display: block;
    font-size: var(--text-sm);
    color: var(--text-light);
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

#catalog-col ul {
    font-size: var(--text-sm);
}

#catalog-col li {
    margin-bottom: var(--space-sm);
}

#catalog-col a {
    color: var(--text-color);
    display: block;
    padding: var(--space-xs) 0;
    border-left: 2px solid transparent;
    padding-left: var(--space-sm);
    transition: all var(--transition-fast);
}

#catalog-col a:hover {
    color: var(--link-color);
    border-left-color: var(--link-color);
}

/* 打赏 */
.rewards {
    margin-top: var(--space-2xl);
    padding: var(--space-xl);
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    text-align: center;
}

.rewards h3 {
    margin-bottom: var(--space-lg);
}

.reward-list {
    display: flex;
    justify-content: center;
    gap: var(--space-xl);
}

.reward-item {
    text-align: center;
}

.reward-item img {
    width: 160px;
    height: 160px;
    margin-bottom: var(--space-sm);
    border-radius: var(--radius-md);
}

/* 标签 */
.post-tags {
    margin-top: var(--space-xl);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--border-color);
    font-size: var(--text-sm);
}

.tags-icon {
    font-weight: 600;
    margin-right: var(--space-sm);
}

.post-tags a {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    background: var(--bg-secondary);
    color: var(--text-color);
    border-radius: var(--radius-md);
    margin-right: var(--space-sm);
    margin-bottom: var(--space-sm);
    transition: all var(--transition-fast);
}

.post-tags a:hover {
    background: var(--link-color);
    color: #fff;
    text-decoration: none;
}

/* 版权 */
.post-license {
    margin-top: var(--space-lg);
    padding: var(--space-md);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    color: var(--text-light);
    text-align: center;
}

/* 上一篇下一篇 */
.post-near {
    display: flex;
    justify-content: space-between;
    margin: var(--space-xl) 0;
    padding: var(--space-lg);
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
}

.post-near span {
    flex: 1;
}

.post-near .next {
    text-align: right;
}

.post-near a {
    color: var(--text-color);
    font-weight: 500;
}

.post-near a:hover {
    color: var(--link-color);
}

/* =====================
   页脚
   ===================== */
#footer {
    background: var(--bg-secondary);
    padding: var(--space-xl) 0;
    margin-top: var(--space-2xl);
    text-align: center;
    font-size: var(--text-base);
    color: var(--text-light);
    line-height: 1.8;
}

.copyright {
    margin-bottom: var(--space-sm);
    color: var(--text-lighter);
}

.copyright a {
    color: var(--text-light);
    font-weight: 500;
    transition: color var(--transition-fast);
}

.copyright a:hover {
    color: var(--link-color);
    text-decoration: none;
}

/* 底部友链菜单（MenuManager footer 分组或主题 textarea） */
ul.footer-links,
.footer-links {
    list-style: none;
    margin: var(--space-sm) 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2px 0;
    line-height: 1;
}
/* 链接之间加分隔符竖线 */
ul.footer-links li + li::before,
.footer-links li + li::before {
    content: "|";
    padding: 0 var(--space-sm);
    color: var(--border-color);
    font-size: var(--text-xs);
    user-select: none;
}
ul.footer-links a,
.footer-links a {
    display: inline;
    padding: 2px var(--space-xs);
    color: var(--link-color);
    text-decoration: none;
    font-size: var(--text-base);
    font-weight: 500;
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
}
ul.footer-links a:hover,
.footer-links a:hover {
    color: var(--link-hover);
    background: var(--bg-tertiary);
    text-decoration: none;
    transform: translateY(-1px);
}

.powered a {
    color: var(--accent-color);
    font-size: var(--text-sm);
}

.powered a:hover {
    color: var(--link-color);
}

/* =====================
   返回顶部
   ===================== */
#scroll-top {
    position: fixed;
    bottom: var(--space-xl);
    right: var(--space-xl);
    width: 48px;
    height: 48px;
    background: var(--link-color);
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all var(--transition-normal);
    box-shadow: var(--shadow-lg);
    z-index: 99;
}

#scroll-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#scroll-top:hover {
    background: var(--link-hover);
    transform: translateY(-4px);
}

/* =====================
   响应式设计
   ===================== */
@media (max-width: 1024px) {
    #main {
        width: 100%;
    }
    
    #sidebar {
        width: 100%;
        margin-left: 0;
        margin-top: var(--space-xl);
    }
    
    #catalog-col {
        display: none;
    }
}

@media (max-width: 768px) {
    :root {
        --space-lg: 1rem;
        --space-xl: 1.5rem;
        --text-2xl: 1.25rem;
        --text-3xl: 1.5rem;
    }

    #header .container {
        flex-wrap: wrap;
    }

    .site-name {
        flex: 1 1 auto;
        min-width: 0;
    }

    #nav-switch {
        display: flex;
        flex-shrink: 0;
    }
    
    #nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--bg-color);
        border-bottom: 1px solid var(--border-color);
        padding: var(--space-lg);
        flex-direction: column;
        align-items: flex-start;
    }
    
    #nav.active {
        display: flex;
    }
    
    .nav-menu {
        flex-direction: column;
        width: 100%;
        gap: 0;
    }
    
    .nav-menu li {
        width: 100%;
    }
    
    .nav-menu a {
        padding: var(--space-md);
    }

    /* 移动端：下拉菜单全宽显示 */
    .nav-menu .menu-child {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        border-radius: 0;
        display: none;
        padding-left: var(--space-lg);
    }
    .nav-menu .menu-parent.open > .menu-child {
        display: block;
    }
    .menu-child li {
        border-bottom: 1px solid var(--border-light);
    }

    /* 移动端取消奇偶差异 */
    .nav-menu li:nth-child(odd) a,
    .nav-menu li:nth-child(even) a {
        background: transparent;
        border-left: none;
    }

    .nav-menu li:nth-child(even) a:hover {
        background: var(--bg-secondary);
        border-left: none;
    }
    
    #site-search {
        width: 100%;
        margin: var(--space-sm) 0 0;
        order: 10;
    }

    #site-search form {
        width: 100%;
    }

    #site-search input {
        width: 100%;
        padding: var(--space-sm) var(--space-sm);
        padding-left: var(--space-md);
        font-size: 1rem;
    }

    #site-search input:focus {
        width: 100%;
    }

    #site-search button {
        width: 42px;
        height: 42px;
    }
    
    .post {
        padding: var(--space-lg);
    }
    
    .post-meta {
        flex-wrap: wrap;
        gap: var(--space-sm);
    }
    
    .pan-card {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    
    .pan-actions {
        width: 100%;
        margin-top: var(--space-md);
    }
    
    .pan-btn {
        flex: 1;
    }
    
    .reward-list {
        flex-direction: column;
        align-items: center;
    }
    
    .post-near {
        flex-direction: column;
        gap: var(--space-md);
    }
    
    .post-near .next {
        text-align: left;
    }
    
    #scroll-top {
        right: var(--space-md);
        bottom: var(--space-md);
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 var(--space-md);
    }
    
    .page-navigator {
        flex-wrap: wrap;
    }
    
    .page-navigator a,
    .page-navigator span {
        min-width: 36px;
        height: 36px;
    }
}

/* =====================
   打印样式
   ===================== */
@media print {
    #header,
    #sidebar,
    #footer,
    #scroll-top,
    .post-near,
    .rewards,
    .comments-area {
        display: none;
    }
    
    body {
        background: #fff;
        color: #000;
    }
    
    .post {
        border: none;
        box-shadow: none;
    }
    
    a {
        color: #000;
        text-decoration: underline;
    }
}

/* =====================
   动画
   ===================== */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.post {
    animation: fadeIn 0.5s ease forwards;
}

/* 加载状态 */
.loading {
    position: relative;
    pointer-events: none;
}

.loading::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bg-color);
    opacity: 0.8;
}

/* 复制成功提示 */
.copy-toast {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--success-color);
    color: #fff;
    padding: var(--space-md) var(--space-xl);
    border-radius: var(--radius-md);
    font-size: var(--text-base);
    z-index: 1000;
    animation: fadeIn 0.3s ease;
}

/* 保护文章 */
.protected form {
    text-align: center;
    padding: var(--space-xl);
}

.protected .word {
    font-size: var(--text-lg);
    margin-bottom: var(--space-lg);
}

.protected input[type="password"] {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    margin-right: var(--space-sm);
}

.protected input[type="submit"] {
    padding: var(--space-sm) var(--space-lg);
    background: var(--link-color);
    color: #fff;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
}

/* 无内容 */
.no-content {
    text-align: center;
    padding: var(--space-2xl);
    color: var(--text-light);
}

/* =====================
   代码高亮
   ===================== */
.highlight {
    margin: 1.5em 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: #2d2d2d;
}

.highlight pre {
    margin: 0;
    padding: 1em;
    overflow-x: auto;
    max-width: 100%;
    box-sizing: border-box;
    background: transparent;
}

.highlight code {
    background: none;
    padding: 0;
    font-size: var(--text-sm);
    color: #ccc;
}

/* 语法高亮配色 */
.highlight .keyword { color: #f92672; }
.highlight .string { color: #e6db74; }
.highlight .number { color: #ae81ff; }
.highlight .comment { color: #75715e; }
.highlight .function { color: #a6e22e; }
.highlight .class { color: #66d9ef; }

/* =====================
   辅助类
   ===================== */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mt-lg { margin-top: var(--space-lg); }
.mb-lg { margin-bottom: var(--space-lg); }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* =====================
   侧边栏 - 搜索组件
   ===================== */
.widget-search form {
    display: flex;
    align-items: center;
    width: 100%;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    overflow: hidden;
}

.widget-search form:focus-within {
    border-color: var(--link-color);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.widget-search input[type="text"],
.widget-search input[type="search"] {
    flex: 1;
    min-width: 0;
    padding: var(--space-sm) var(--space-sm);
    padding-left: var(--space-md);
    border: none;
    background: transparent;
    color: var(--text-color);
    font-size: var(--text-sm);
    outline: none;
}

.widget-search input::placeholder {
    color: var(--text-light, #94a3b8);
}

/* 去掉 type=search 默认清除按钮 */
.widget-search input::-webkit-search-cancel-button,
.widget-search input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

.widget-search button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--text-light, #94a3b8);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.widget-search button:hover {
    color: var(--link-color);
    background: rgba(99, 102, 241, 0.08);
}

.widget-search form:focus-within button {
    color: var(--link-color);
}

/* =====================
   侧边栏 - 评论列表
   ===================== */
.comment-list .recent-comment {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--border-light);
    line-height: 1.5;
}

.comment-list .recent-comment:last-child {
    border-bottom: none;
}

.comment-author {
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--link-color);
}

.comment-author a {
    color: var(--link-color);
}

.comment-date {
    font-size: var(--text-xs);
    color: var(--text-lighter);
    margin-left: auto;
}

.comment-content {
    display: block;
    width: 100%;
    font-size: var(--text-sm);
    color: var(--text-light);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: var(--space-xs);
}

.comment-content:hover {
    color: var(--link-color);
}

/* =====================
   侧边栏 - 归档列表
   ===================== */
.archive-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-light);
    font-size: var(--text-sm);
}

.archive-list li:last-child {
    border-bottom: none;
}

.archive-list a {
    color: var(--text-color);
    transition: color var(--transition-fast);
}

.archive-list a:hover {
    color: var(--link-color);
    text-decoration: none;
}

.archive-list .count {
    font-size: var(--text-xs);
    color: var(--text-light);
    background: var(--bg-secondary);
    padding: 0.2em 0.6em;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

/* =====================
   侧边栏 - RSS 订阅
   ===================== */
.rss-subscribe a {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    color: var(--text-color);
    font-size: var(--text-sm);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.rss-subscribe a:hover {
    color: #f26522;
    background: var(--bg-secondary);
    text-decoration: none;
}

.rss-subscribe svg {
    flex-shrink: 0;
}

/* =====================
   侧边栏 - 轻语组件
   ===================== */
.whisper-widget .widget-list {
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.whisper-widget .widget-list p {
    margin-bottom: 0.5em;
}

.whisper-widget .widget-list li {
    padding: var(--space-sm) 0;
}

/* =====================
   分类列表美化
   ===================== */
.category-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-light);
    transition: all var(--transition-fast);
}

.category-list li:last-child {
    border-bottom: none;
}

.category-list li:hover {
    padding-left: var(--space-sm);
}

.category-list a {
    color: var(--text-color);
    font-size: var(--text-sm);
    transition: color var(--transition-fast);
    position: relative;
}

.category-list a::before {
    content: "▸";
    color: var(--link-color);
    margin-right: var(--space-xs);
    font-size: 0.8em;
    opacity: 0.6;
}

.category-list a:hover {
    color: var(--link-color);
    text-decoration: none;
}

.category-list .count {
    font-size: var(--text-xs);
    color: var(--text-light);
    background: var(--bg-secondary);
    padding: 0.2em 0.6em;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
    transition: all var(--transition-fast);
}

.category-list li:hover .count {
    background: var(--link-color);
    color: #fff;
}

/* =====================
   标签云美化增强
   ===================== */
.tag-cloud a {
    font-size: var(--text-sm) !important;
    position: relative;
    overflow: hidden;
}

.tag-cloud a::before {
    content: "#";
    opacity: 0.5;
    margin-right: 2px;
}

/* =====================
   最新/热门文章列表美化
   ===================== */
.widget-list li {
    position: relative;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-light);
    transition: all var(--transition-fast);
}

.widget-list li:last-child {
    border-bottom: none;
}

.widget-list li:hover {
    padding-left: var(--space-sm);
}

.widget-list a {
    font-size: var(--text-sm);
    line-height: 1.5;
    color: var(--text-color);
    transition: color var(--transition-fast);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.widget-list a:hover {
    color: var(--link-color);
    text-decoration: none;
}

/* =====================
   侧边栏 widget 整体优化
   ===================== */
.widget {
    transition: all var(--transition-normal);
}

.widget:hover {
    box-shadow: var(--shadow-sm);
}

/* =====================
   错误的页面模板
   ===================== */
.error-page {
    text-align: center;
    padding: var(--space-2xl);
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.error-page h1 {
    font-size: 6rem;
    color: var(--text-lighter);
    margin-bottom: var(--space-lg);
    line-height: 1;
}

.error-page p {
    color: var(--text-light);
    font-size: var(--text-lg);
    margin-bottom: var(--space-xl);
}

.error-page a {
    display: inline-block;
    padding: var(--space-sm) var(--space-xl);
    background: var(--link-color);
    color: #fff;
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.error-page a:hover {
    background: var(--link-hover);
    text-decoration: none;
    transform: translateY(-2px);
}

/* =====================
   归档头部样式
   ===================== */
.archive-wrap {
    animation: fadeIn 0.5s ease forwards;
}

.archive-header {
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
    border-bottom: 2px solid var(--border-color);
}

.archive-title {
    font-size: var(--text-2xl);
    color: var(--text-color);
    margin-bottom: var(--space-sm);
}

.archive-desc {
    font-size: var(--text-sm);
    color: var(--text-light);
}

/* =====================
   页面模板补充
   ===================== */
.page-title {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-lg);
}

.page-content {
    line-height: var(--leading-relaxed);
    font-size: var(--text-lg);
}

/* =====================
   响应式 - 侧边栏平板优化
   ===================== */
@media (max-width: 1024px) {
    #sidebar {
        width: 100%;
        margin-left: 0;
        margin-top: var(--space-xl);
    }

    #main {
        width: 100%;
    }

    .sidebar-open #sidebar {
        display: block;
    }
}

/* =====================
   侧边栏折叠组件
   ===================== */
.widget-collapse .widget-list li:nth-child(n+9),
.widget-collapse .archive-list li:nth-child(n+9),
.widget-collapse .category-list li:nth-child(n+9) {
    display: none;
}

.widget-collapse.expanded .widget-list li,
.widget-collapse.expanded .archive-list li,
.widget-collapse.expanded .category-list li {
    display: flex;
}

.widget-toggle {
    display: block;
    width: 100%;
    margin-top: var(--space-sm);
    padding: var(--space-xs) var(--space-md);
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-md);
    background: none;
    color: var(--text-light);
    font-size: var(--text-xs);
    cursor: pointer;
    text-align: center;
    transition: all var(--transition-fast);
}

.widget-toggle:hover {
    border-color: var(--link-color);
    color: var(--link-color);
    background: var(--bg-secondary);
}

.widget-toggle::after {
    content: " ▼ 展开全部";
}

.widget-collapse.expanded .widget-toggle::after {
    content: " ▲ 收起";
}

/* =====================
   图片自动尺寸（减少 CLS）
   ===================== */
.post-content img,
.whisper-content img {
    max-width: 100%;
    height: auto;
}

/* 无显式宽高的图片使用 16:9 占位，防止 CLS */
img.img-auto-size:not([width]):not([height]) {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* 图片加载完成后移除占位 */
img.img-auto-size.complete {
    aspect-ratio: auto;
}

/* =====================
   404 页面样式（从 404.php 提取）
   ===================== */
.not-found {
    text-align: center;
    padding: var(--space-2xl) var(--space-lg);
}

.not-found-content {
    max-width: 400px;
    margin: 0 auto;
}

.not-found h1 {
    font-size: 6rem;
    font-weight: 700;
    color: var(--link-color);
    margin-bottom: var(--space-lg);
    line-height: 1;
}

.not-found-text {
    font-size: var(--text-xl);
    color: var(--text-light);
    margin-bottom: var(--space-lg);
}

.not-found-search {
    display: flex;
    gap: var(--space-sm);
    justify-content: center;
    margin-bottom: var(--space-xl);
}

.not-found-search input {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--bg-secondary);
    color: var(--text-color);
    font-size: var(--text-sm);
}

.not-found-search input:focus {
    outline: none;
    border-color: var(--link-color);
}

.not-found-search button {
    padding: var(--space-sm) var(--space-lg);
    border: none;
    border-radius: var(--radius-md);
    background: var(--link-color);
    color: #fff;
    font-size: var(--text-sm);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.not-found-search button:hover {
    background: var(--link-hover);
}

.not-found-link a {
    display: inline-block;
    padding: var(--space-md) var(--space-xl);
    background: var(--link-color);
    color: #fff;
    border-radius: var(--radius-md);
    font-weight: 500;
    transition: all var(--transition-fast);
}

.not-found-link a:hover {
    background: var(--link-hover);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* =====================
   评论区域样式（从 comments.php 提取）
   ===================== */
.comments-area { margin-top: 2em; }
.comments-list h3 { margin-bottom: 1em; font-size: 1.2em; }
.comment-list { list-style: none; padding: 0; margin: 0; }
.comment-list .comment { padding: 1em 0; border-bottom: 1px solid var(--border-color); }
.comment-list .comment-child { margin-left: 2em; }
.comment-author { font-weight: bold; margin-bottom: 0.5em; }
.comment-author img { width: 32px; height: 32px; border-radius: 50%; vertical-align: middle; margin-right: 0.5em; }
.comment-date { color: var(--text-light); font-size: 0.9em; margin-left: 0.5em; }
.comment-content { line-height: 1.8; }
.comment-reply { margin-top: 0.5em; }
.comment-reply a { color: var(--link-color); font-size: 0.9em; }
.comment-at { color: var(--link-color); margin-right: 0.5em; }
.page-navigator { margin: 2em 0; text-align: center; }
.page-navigator a, .page-navigator span { display: inline-block; padding: 0.3em 0.8em; margin: 0 0.2em; border-radius: 4px; }
.page-navigator a { background: var(--bg-secondary); color: var(--text-color); }
.page-navigator a:hover { background: var(--link-color); color: #fff; }
.comment-respond { margin-top: 2em; padding-top: 2em; border-top: 1px solid var(--border-color); }
.comment-form p { margin-bottom: 1em; }
.comment-form label { display: block; margin-bottom: 0.3em; font-weight: 500; }
.comment-form input.text, .comment-form textarea { width: 100%; padding: 0.5em; border: 1px solid var(--border-color); border-radius: 4px; background: var(--bg-color); color: var(--text-color); }
.comment-form textarea { min-height: 120px; resize: vertical; }
.comment-form button.submit { padding: 0.5em 2em; background: var(--link-color); color: #fff; border: none; border-radius: 4px; cursor: pointer; transition: opacity 0.3s; }
.comment-form button.submit:hover { opacity: 0.8; }
.cancel-reply { float: right; }
.cancel-reply a { font-size: 0.9em; color: var(--text-light); }
.comments-closed { color: var(--text-light); font-style: italic; }

/* =====================
   归档页面样式（从 page-archives.php 提取）
   ===================== */
.archives-page .page-content {
    max-width: 100%;
}

.archives-list {
    margin-top: var(--space-xl);
}

.archive-year {
    margin-bottom: var(--space-xl);
}

.archive-date {
    font-size: var(--text-xl);
    color: var(--link-color);
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--border-color);
}

.archive-posts {
    list-style: none;
    padding: 0;
    margin: 0;
}

.archive-posts li {
    display: flex;
    align-items: baseline;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-light);
}

.archive-posts li:last-child {
    border-bottom: none;
}

.archive-posts .post-date {
    flex-shrink: 0;
    width: 50px;
    font-size: var(--text-sm);
    color: var(--text-light);
}

.archive-posts .post-title {
    flex: 1;
    color: var(--text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-posts .post-title:hover {
    color: var(--link-color);
}

/* =====================
   链接页面样式（从 page-links.php 提取）
   ===================== */
.links-page .page-content ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: var(--space-lg);
    list-style: none;
    padding: 0;
    margin: var(--space-xl) 0;
}

.links-page .page-content li {
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    transition: all var(--transition-fast);
}

.links-page .page-content li:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.links-page .page-content a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--text-color);
    text-decoration: none;
}

.links-page .page-content a:hover {
    color: var(--link-color);
}

.links-page .page-content img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    margin-bottom: var(--space-md);
    object-fit: cover;
}

.links-page .page-content span {
    font-weight: 500;
    margin-bottom: var(--space-xs);
}

.links-page .page-content a[title] {
    font-size: var(--text-sm);
    color: var(--text-light);
}

.links-page .page-content del {
    color: var(--text-lighter);
    text-decoration: line-through;
}

/* =====================
   轻语页面样式（从 page-whisper.php 提取）
   ===================== */
.whisper-page .page-content {
    max-width: 100%;
}

.whisper-list {
    margin-top: var(--space-xl);
}

.whisper-item {
    padding: var(--space-xl);
    margin-bottom: var(--space-lg);
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    border-left: 3px solid var(--link-color);
}

.whisper-content {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-md);
}

.whisper-content p:last-child {
    margin-bottom: 0;
}

.whisper-content img {
    max-width: 100%;
    border-radius: var(--radius-md);
    margin: var(--space-md) 0;
}

.whisper-meta {
    font-size: var(--text-sm);
    color: var(--text-light);
}

.whisper-empty {
    text-align: center;
    padding: var(--space-2xl);
    color: var(--text-light);
}
