/*
Theme Name: Flavor Starter
Theme URI: https://www.766vps.com
Author: linux老运维
Author URI: https://www.766vps.com
Description:  WordPress 主题 — 由 linux老运维 定制发布
Version: 2.0.0
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flavor-starter
Tags: blog, custom-menu, featured-images, dark-mode
*/

/* ═══════════════════════════════════════════
 * CSS 变量
 * ═══════════════════════════════════════════ */
:root {
    --hz-primary: #0a63ff;
    --hz-primary-light: #e8f0ff;
    --hz-primary-dark: #0850d0;
    --hz-text: #2c3e50;
    --hz-text-light: #6b7b8d;
    --hz-text-muted: #95a5b6;
    --hz-bg: #f5f7fa;
    --hz-white: #ffffff;
    --hz-border: #e8ecf1;
    --hz-shadow: 0 2px 12px rgba(0,0,0,.06);
    --hz-shadow-lg: 0 8px 30px rgba(0,0,0,.08);
    --hz-radius: 14px;
    --hz-radius-sm: 8px;
    --hz-footer-bg: #0f1724;
    --hz-transition: .25s ease;
    --hz-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;
}

/* ═══════════════════════════════════════════
 * 基础重置
 * ═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--hz-font); color: var(--hz-text); background: var(--hz-bg); line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: var(--hz-primary); text-decoration: none; transition: color var(--hz-transition); }
a:hover { color: var(--hz-primary-dark); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
h1, h2, h3, h4, h5, h6 { line-height: 1.3; font-weight: 700; }
input, textarea, select, button { font-family: inherit; font-size: inherit; }

/* ═══════════════════════════════════════════
 * 容器
 * ═══════════════════════════════════════════ */
.container { max-width: 1280px; margin: 0 auto; padding: 0 20px; }

/* ═══════════════════════════════════════════
 * Header
 * ═══════════════════════════════════════════ */
.site-header {
    position: sticky; top: 0; z-index: 100;
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--hz-border);
    transition: box-shadow var(--hz-transition);
}
.site-header.is-scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.08); }
.site-header__inner {
    display: flex; align-items: center; height: 64px; gap: 24px;
}

/* Logo */
.site-branding { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--hz-text); flex-shrink: 0; }
.site-logo-name { font-size: var(--hz-logo-size, 22px); font-weight: 800; color: var(--hz-text); letter-spacing: .5px; white-space: nowrap; }
.site-logo-divider { color: var(--hz-text-muted); font-weight: 300; }
.site-logo-slogan { font-size: .85rem; color: var(--hz-text-light); }
.site-logo-sub { font-size: .75rem; color: var(--hz-text-muted); margin-left: 4px; }

/* 桌面导航 */
.desktop-main-nav { display: flex; align-items: center; gap: 4px; flex: 1; overflow: visible; }
.nav-dropdown { position: relative; }
.nav-link {
    display: block; padding: 8px 14px; border-radius: var(--hz-radius-sm);
    color: var(--hz-text); font-size: .9rem; font-weight: 500;
    transition: background var(--hz-transition), color var(--hz-transition);
    white-space: nowrap; text-decoration: none;
}
.nav-link:hover { background: var(--hz-primary-light); color: var(--hz-primary); }

/* 有子级的导航项 */
.nav-dropdown-trigger {
    display: flex; align-items: center; gap: 4px;
    padding: 8px 14px; border-radius: var(--hz-radius-sm);
    color: var(--hz-text); font-size: .9rem; font-weight: 500;
    transition: background var(--hz-transition), color var(--hz-transition);
    white-space: nowrap; text-decoration: none;
}
.nav-dropdown-trigger:hover, .nav-dropdown.has-children:hover .nav-dropdown-trigger, .nav-dropdown.has-children.is-open .nav-dropdown-trigger {
    background: var(--hz-primary-light); color: var(--hz-primary);
}
.nav-dropdown-trigger .fa-angle-down { font-size: .75rem; transition: transform var(--hz-transition); }
.nav-dropdown.has-children:hover .nav-dropdown-trigger .fa-angle-down, .nav-dropdown.has-children.is-open .nav-dropdown-trigger .fa-angle-down { transform: rotate(180deg); }

/* 下拉菜单 */
.nav-dropdown-menu {
    position: absolute; top: calc(100% + 4px); left: 0; min-width: 180px;
    background: var(--hz-white); border-radius: var(--hz-radius);
    box-shadow: var(--hz-shadow-lg); border: 1px solid var(--hz-border);
    padding: 6px; opacity: 0; visibility: hidden; z-index: 110;
    transform: translateY(6px); transition: all .2s ease;
}
/* CSS hover 显示下拉（无需 JS 也能工作） */
.nav-dropdown.has-children:hover > .nav-dropdown-menu,
.nav-dropdown.has-children.is-open > .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }

/* 下拉菜单项 */
.nav-dropdown-link {
    display: block; padding: 9px 14px; border-radius: var(--hz-radius-sm);
    color: var(--hz-text); font-size: .88rem; white-space: nowrap;
    transition: background .15s ease, color .15s ease; text-decoration: none;
}
.nav-dropdown-link:hover { background: var(--hz-primary-light); color: var(--hz-primary); }

/* Header 操作区 */
.site-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.header-search-toggle { background: none; border: none; font-size: 1.1rem; color: var(--hz-text-light); cursor: pointer; padding: 6px; }
.header-search-toggle:hover { color: var(--hz-primary); }
.header-submit-btn {
    display: inline-flex; align-items: center; padding: 6px 16px;
    background: var(--hz-primary); color: #fff; border-radius: 20px;
    font-size: .85rem; font-weight: 500; transition: background var(--hz-transition);
}
.header-submit-btn:hover { background: var(--hz-primary-dark); color: #fff; }

/* 暗黑模式开关 */
.dark-mode-toggle { position: relative; display: inline-block; width: 40px; height: 22px; cursor: pointer; }
.dark-mode-toggle input { display: none; }
.dark-mode-slider {
    position: absolute; inset: 0; background: #ccc; border-radius: 22px;
    transition: background var(--hz-transition);
}
.dark-mode-slider::before {
    content: ''; position: absolute; width: 16px; height: 16px;
    left: 3px; bottom: 3px; background: #fff; border-radius: 50%;
    transition: transform var(--hz-transition);
}
.dark-mode-toggle input:checked + .dark-mode-slider { background: var(--hz-primary); }
.dark-mode-toggle input:checked + .dark-mode-slider::before { transform: translateX(18px); }

/* 移动端菜单按钮 */
.mobile-menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; }
.mobile-menu-toggle span { display: block; width: 22px; height: 2px; background: var(--hz-text); border-radius: 2px; transition: all var(--hz-transition); }
.mobile-menu-toggle.is-active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.mobile-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
.mobile-menu-toggle.is-active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* 移动端菜单 */
.mobile-menu { display: none; background: var(--hz-white); border-top: 1px solid var(--hz-border); padding: 12px 20px; }
.mobile-menu.is-active { display: block; }
.mobile-nav-item > a { display: block; padding: 10px 0; color: var(--hz-text); font-weight: 500; border-bottom: 1px solid var(--hz-border); }
.mobile-sub-menu { display: none; padding-left: 16px; }
.mobile-sub-menu.is-open { display: block; }
.mobile-sub-menu a { display: block; padding: 8px 0; color: var(--hz-text-light); font-size: .9rem; }

/* 搜索弹窗 */
.site-search-modal {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(0,0,0,.5); backdrop-filter: blur(4px);
    display: none; align-items: flex-start; justify-content: center; padding-top: 120px;
}
.site-search-modal.is-active { display: flex; }
.site-search-modal__inner { background: var(--hz-white); border-radius: var(--hz-radius); padding: 24px; width: 90%; max-width: 560px; position: relative; box-shadow: var(--hz-shadow-lg); }
.site-search-close { position: absolute; top: 12px; right: 12px; background: none; border: none; font-size: 1.2rem; cursor: pointer; color: var(--hz-text-muted); }
.site-search-modal__inner form { display: flex; gap: 8px; }
.site-search-modal__inner input { flex: 1; padding: 12px 16px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); font-size: 1rem; outline: none; }
.site-search-modal__inner input:focus { border-color: var(--hz-primary); }
.site-search-modal__inner button { background: var(--hz-primary); color: #fff; border: none; padding: 12px 20px; border-radius: var(--hz-radius-sm); cursor: pointer; font-size: 1.1rem; }

/* ═══════════════════════════════════════════
 * 首页布局
 * ═══════════════════════════════════════════ */
.home-flow-layout { display: flex; gap: 24px; padding-top: 24px; padding-bottom: 40px; }
.home-flow-main { flex: 1; min-width: 0; }
.home-flow-side { width: 320px; flex-shrink: 0; }

/* ═══════════════════════════════════════════
 * Showcase (Banner + 广告位)
 * ═══════════════════════════════════════════ */
.home-showcase-left { margin-bottom: 24px; }

/* JS特效 Banner */
.home-hero-banner { position: relative; border-radius: var(--hz-radius); overflow: hidden; background: var(--hz-bg); aspect-ratio: 16/6; }
.home-hero-stage { position: relative; width: 100%; height: 100%; }
.home-hero-slide {
    position: absolute; inset: 0; display: block;
    opacity: 0; transition: opacity .8s ease; z-index: 0; text-decoration: none;
}
.home-hero-slide.is-active { opacity: 1; z-index: 1; }
.home-hero-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-hero-slide-title {
    position: absolute; bottom: 16px; left: 20px; z-index: 2;
    color: #fff; font-size: 1.15rem; font-weight: 600;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
    background: rgba(0,0,0,.25); padding: 6px 16px; border-radius: var(--hz-radius-sm);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.home-hero-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    background: rgba(255,255,255,.75); border: none; width: 38px; height: 38px;
    border-radius: 50%; cursor: pointer; font-size: 1.1rem; color: var(--hz-text);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: all var(--hz-transition); box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
.home-hero-banner:hover .home-hero-arrow { opacity: 1; }
.home-hero-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.08); }
.home-hero-arrow--prev { left: 12px; }
.home-hero-arrow--next { right: 12px; }
.home-hero-dots { position: absolute; bottom: 14px; right: 18px; z-index: 5; display: flex; gap: 6px; }
.home-hero-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(255,255,255,.45); border: none; cursor: pointer; padding: 0;
    transition: all .3s ease;
}
.home-hero-dot.is-active { background: #fff; width: 22px; border-radius: 4px; }

/* Showcase 广告网格 */
.home-showcase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.home-showcase-ad-slot { overflow: hidden; border-radius: var(--hz-radius); border: 1px solid var(--hz-border); background: var(--hz-white); }
.home-showcase-ad-slot img { display: block; width: 100%; height: auto; max-width: 100%; }
.home-showcase-vacancy {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 28px 16px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius);
    text-align: center; color: var(--hz-text-light); transition: all var(--hz-transition);
    min-height: 130px; background: var(--hz-white); box-shadow: var(--hz-shadow);
}
.home-showcase-vacancy:hover { border-color: var(--hz-primary); color: var(--hz-primary); transform: translateY(-2px); box-shadow: var(--hz-shadow-lg); }
.home-showcase-vacancy-mark { font-size: .7rem; background: var(--hz-primary-light); color: var(--hz-primary); padding: 2px 8px; border-radius: 10px; margin-bottom: 8px; }
.home-showcase-vacancy strong { font-size: .9rem; color: var(--hz-text); margin-bottom: 4px; }
.home-showcase-vacancy em { font-size: .75rem; font-style: normal; }
.home-showcase-vacancy-action { font-size: .8rem; margin-top: 8px; color: var(--hz-primary); }

/* Showcase Demo 广告卡片 */
.home-showcase-demo {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 24px 14px 20px; border-radius: var(--hz-radius);
    border: 1px solid var(--hz-border); background: var(--hz-white);
    text-align: center; position: relative; overflow: hidden;
    transition: all var(--hz-transition); box-shadow: var(--hz-shadow);
}
.home-showcase-demo::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
    background: var(--demo-color, var(--hz-primary)); border-radius: var(--hz-radius) var(--hz-radius) 0 0;
}
.home-showcase-demo:hover { transform: translateY(-3px); box-shadow: var(--hz-shadow-lg); border-color: var(--demo-color, var(--hz-primary)); }
.home-showcase-demo-tag {
    font-size: .65rem; background: var(--demo-color, var(--hz-primary)); color: #fff;
    padding: 2px 10px; border-radius: 10px; margin-bottom: 12px; letter-spacing: .5px;
}
.home-showcase-demo-icon { font-size: 1.8rem; color: var(--demo-color, var(--hz-primary)); margin-bottom: 10px; opacity: .85; }
.home-showcase-demo-title { font-size: .95rem; color: var(--hz-text); margin-bottom: 4px; }
.home-showcase-demo-sub { font-size: .75rem; color: var(--hz-text-muted); margin-bottom: 12px; line-height: 1.4; }
.home-showcase-demo-btn {
    font-size: .78rem; color: #fff; background: var(--demo-color, var(--hz-primary));
    padding: 5px 16px; border-radius: 20px; transition: opacity var(--hz-transition);
}
.home-showcase-demo:hover .home-showcase-demo-btn { opacity: .9; }

/* 公告 */
.home-showcase-notice { margin-bottom: 16px; }
.home-notice-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--hz-border); }
.home-notice-tab { padding: 10px 16px; background: none; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-size: .88rem; color: var(--hz-text-light); font-weight: 500; }
.home-notice-tab.is-active { color: var(--hz-primary); border-bottom-color: var(--hz-primary); }
.home-notice-panel { display: none; padding: 8px 0; }
.home-notice-panel.is-active { display: block; }
.home-notice-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; border-radius: var(--hz-radius-sm); color: var(--hz-text); font-size: .88rem; }
.home-notice-item:hover { background: var(--hz-primary-light); }
.home-notice-item span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-notice-item em { font-style: normal; font-size: .75rem; color: var(--hz-text-muted); flex-shrink: 0; margin-left: 12px; }

/* ═══════════════════════════════════════════
 * 推荐位
 * ═══════════════════════════════════════════ */
.home-main-stack { }
.home-feature-card {
    border-radius: var(--hz-radius); overflow: hidden;
    margin-bottom: 24px; transition: transform var(--hz-transition);
    border: 1px solid var(--hz-border); box-shadow: var(--hz-shadow);
}
.home-feature-card--ad { background: linear-gradient(135deg, var(--hz-primary-light), #f0f4ff); }
.home-feature-card--placeholder { padding: 24px; }
.home-feature-link { display: block; }
.home-feature-title-row { margin-bottom: 8px; }
.home-feature-title-row span { font-size: .8rem; color: var(--hz-primary); }
.home-feature-title-row strong { display: block; font-size: 1.1rem; margin-top: 4px; }
.home-feature-link p { font-size: .88rem; color: var(--hz-text-light); margin-bottom: 8px; }
.home-feature-meta { display: flex; justify-content: space-between; font-size: .8rem; color: var(--hz-text-muted); }
.home-feature-meta span, .home-feature-meta em { font-style: normal; }

/* ═══════════════════════════════════════════
 * 列表头部
 * ═══════════════════════════════════════════ */
.home-list-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px; padding-bottom: 12px;
    border-bottom: 1px solid var(--hz-border);
}
.home-list-title { display: flex; align-items: center; gap: 8px; }
.home-list-title span { width: 4px; height: 20px; background: var(--hz-primary); border-radius: 2px; display: inline-block; }
.home-list-title h1 { font-size: 1.15rem; font-weight: 700; }
.home-head-actions { display: flex; align-items: center; gap: 8px; }
.home-list-tabs { display: flex; gap: 4px; }
.home-list-tabs a {
    padding: 4px 12px; border-radius: 16px; font-size: .82rem;
    color: var(--hz-text-light); transition: all var(--hz-transition);
}
.home-list-tabs a:hover, .home-list-tabs a.is-active {
    background: var(--hz-primary); color: #fff;
}

/* ═══════════════════════════════════════════
 * 文章卡片列表
 * ═══════════════════════════════════════════ */
.home-post-list { display: flex; flex-direction: column; gap: 20px; }
.home-post-item {
    display: flex; gap: 20px; background: var(--hz-white);
    border-radius: var(--hz-radius); overflow: hidden;
    box-shadow: var(--hz-shadow); transition: transform var(--hz-transition), box-shadow var(--hz-transition);
}
.home-post-item:hover { transform: translateY(-2px); box-shadow: var(--hz-shadow-lg); }
.home-post-cover { width: 240px; min-height: 170px; flex-shrink: 0; overflow: hidden; }
.home-post-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--hz-transition); }
.home-post-item:hover .home-post-cover img { transform: scale(1.05); }
.home-post-body { flex: 1; padding: 16px 16px 16px 0; display: flex; flex-direction: column; }
.home-post-body h2 { font-size: 1.05rem; font-weight: 600; line-height: 1.4; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.home-post-body h2 a { color: var(--hz-text); }
.home-post-body h2 a:hover { color: var(--hz-primary); }
.home-post-body p { font-size: .88rem; color: var(--hz-text-light); line-height: 1.6; margin-bottom: 10px; flex: 1; }
.home-post-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: .8rem; color: var(--hz-text-muted); }
.home-post-author { display: flex; align-items: center; gap: 4px; }
.home-post-author em { width: 22px; height: 22px; border-radius: 50%; background: var(--hz-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .7rem; font-style: normal; }
.home-post-category { padding: 2px 8px; background: var(--hz-primary-light); color: var(--hz-primary); border-radius: 4px; font-size: .75rem; }
.home-post-top { display: inline-flex; align-items: center; gap: 2px; background: #ff6b35; color: #fff; padding: 1px 8px; border-radius: 4px; font-size: .7rem; font-weight: 600; }
.home-post-top b { font-weight: 600; }
.home-inline-tags { display: flex; gap: 4px; }
.home-inline-tags a { padding: 1px 6px; background: var(--hz-bg); border-radius: 3px; font-size: .72rem; color: var(--hz-text-muted); }
.home-inline-tags a:hover { background: var(--hz-primary-light); color: var(--hz-primary); }

/* ═══════════════════════════════════════════
 * 分页
 * ═══════════════════════════════════════════ */
.home-pagination { display: flex; align-items: center; gap: 6px; margin-top: 28px; flex-wrap: wrap; }
.home-page-item {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px;
    border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm);
    font-size: .88rem; color: var(--hz-text); background: var(--hz-white);
    transition: all var(--hz-transition); cursor: pointer;
}
.home-page-item:hover { border-color: var(--hz-primary); color: var(--hz-primary); }
.home-page-item.is-active { background: var(--hz-primary); color: #fff; border-color: var(--hz-primary); }
.home-page-item.is-disabled { opacity: .4; cursor: default; }
.home-page-ellipsis { padding: 0 4px; color: var(--hz-text-muted); font-size: .88rem; }
.home-page-total { margin-left: auto; font-size: .82rem; color: var(--hz-text-muted); }

/* ═══════════════════════════════════════════
 * 侧边栏
 * ═══════════════════════════════════════════ */
.home-side-column { display: flex; flex-direction: column; gap: 16px; }
.cms-side-card {
    background: var(--hz-white); border-radius: var(--hz-radius);
    box-shadow: var(--hz-shadow); padding: 16px; overflow: hidden;
}
.cms-side-title { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.cms-side-title__accent { width: 4px; height: 16px; background: var(--hz-primary); border-radius: 2px; display: inline-block; }
.cms-side-title h3 { font-size: .95rem; font-weight: 600; }

/* 侧边栏搜索 */
.home-side-search { display: flex; gap: 8px; }
.home-side-search input { flex: 1; padding: 8px 12px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); font-size: .88rem; outline: none; }
.home-side-search input:focus { border-color: var(--hz-primary); }
.home-side-search button { background: var(--hz-primary); color: #fff; border: none; padding: 8px 14px; border-radius: var(--hz-radius-sm); cursor: pointer; }

/* 联系卡片 */
.sidebar-contact-card .sidebar-contact-list { display: flex; flex-direction: column; gap: 8px; }
.sidebar-contact-item { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: var(--hz-radius-sm); background: var(--hz-bg); }
.sidebar-contact-item > i { font-size: 1.1rem; color: var(--hz-primary); width: 20px; text-align: center; }
.sidebar-contact-body { flex: 1; min-width: 0; }
.sidebar-contact-body span { font-size: .75rem; color: var(--hz-text-muted); display: block; }
.sidebar-contact-body strong { font-size: .85rem; font-weight: 500; }
.sidebar-contact-body strong a { color: var(--hz-text); }
.sidebar-contact-copy { background: none; border: none; cursor: pointer; color: var(--hz-text-muted); padding: 4px; }
.sidebar-contact-copy:hover { color: var(--hz-primary); }

/* 热门图文 */
.home-hot-graphic-list { display: flex; flex-direction: column; gap: 10px; }
.home-hot-graphic-item { display: flex; align-items: center; gap: 10px; padding: 6px; border-radius: var(--hz-radius-sm); color: var(--hz-text); position: relative; }
.home-hot-graphic-item:hover { background: var(--hz-bg); }
.home-hot-graphic-rank { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; background: var(--hz-primary-light); color: var(--hz-primary); border-radius: 4px; font-size: .72rem; font-weight: 700; flex-shrink: 0; }
.home-hot-graphic-cover { width: 64px; height: 48px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.home-hot-graphic-cover img { width: 100%; height: 100%; object-fit: cover; }
.home-hot-graphic-body { flex: 1; min-width: 0; }
.home-hot-graphic-body strong { display: block; font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-hot-graphic-body em { display: block; font-size: .75rem; color: var(--hz-text-muted); font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-hot-graphic-body span { display: flex; gap: 8px; font-size: .72rem; color: var(--hz-text-muted); margin-top: 2px; }
.home-hot-graphic-body span i { margin-right: 2px; }

/* 新闻动态 */
.home-news-list { display: flex; flex-direction: column; gap: 10px; }
.home-news-item { display: flex; gap: 10px; padding: 6px; border-radius: var(--hz-radius-sm); color: var(--hz-text); }
.home-news-item:hover { background: var(--hz-bg); }
.home-news-cover { width: 80px; height: 56px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.home-news-cover img { width: 100%; height: 100%; object-fit: cover; }
.home-news-body { flex: 1; min-width: 0; }
.home-news-body strong { display: block; font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-news-body span { display: flex; gap: 8px; font-size: .75rem; color: var(--hz-text-muted); margin-top: 2px; }
.home-news-body em { font-style: normal; }

/* 站点统计 */
.home-stat-card .home-stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.home-stat-item { padding: 8px; background: var(--hz-bg); border-radius: var(--hz-radius-sm); text-align: center; }
.home-stat-item span { display: block; font-size: .72rem; color: var(--hz-text-muted); }
.home-stat-item strong, .home-stat-item time { display: block; font-size: .95rem; color: var(--hz-primary); font-weight: 700; margin-top: 2px; }

/* 标签云 */
.home-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; }
.home-tag-cloud a { display: inline-flex; align-items: center; gap: 2px; padding: 3px 10px; background: var(--hz-bg); border-radius: 14px; font-size: .78rem; color: var(--hz-text-light); transition: all var(--hz-transition); }
.home-tag-cloud a:hover { background: var(--hz-primary-light); color: var(--hz-primary); }
.home-tag-cloud em { font-style: normal; font-size: .7rem; }

/* ═══════════════════════════════════════════
 * 广告通用
 * ═══════════════════════════════════════════ */
.hz-ad-section { margin: 16px 0; text-align: center; display: block; }
.hz-ad-section img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
.hz-ad-top-full { margin: 12px 0; border-radius: var(--hz-radius); border: 1px solid var(--hz-border); background: var(--hz-white); box-shadow: var(--hz-shadow); overflow: hidden; }
.hz-ad-home-top { margin: 8px 0 4px; border-radius: var(--hz-radius); border: 1px solid var(--hz-border); background: var(--hz-white); box-shadow: var(--hz-shadow); overflow: hidden; }
.hz-ad-section--full { border-radius: var(--hz-radius); overflow: hidden; border: 1px solid var(--hz-border); background: var(--hz-white); box-shadow: var(--hz-shadow); }
.hz-ad-section--sidebar { border-radius: var(--hz-radius); overflow: hidden; border: 1px solid var(--hz-border); background: var(--hz-white); box-shadow: var(--hz-shadow); }
.hz-ad-placeholder {
    display: flex; align-items: center; gap: 12px; padding: 20px;
    border: 1px solid var(--hz-border); border-radius: var(--hz-radius);
    color: var(--hz-text-light); transition: all var(--hz-transition);
    background: var(--hz-white); box-shadow: var(--hz-shadow);
}
.hz-ad-placeholder:hover { border-color: var(--hz-primary); color: var(--hz-primary); }
.hz-ad-placeholder__icon { font-size: 1.5rem; color: var(--hz-primary); }
.hz-ad-placeholder__content strong { display: block; font-size: .9rem; }
.hz-ad-placeholder__content em { font-size: .78rem; font-style: normal; }
.hz-ad-placeholder__action { margin-left: auto; font-size: .82rem; color: var(--hz-primary); }
.hz-ad-placeholder--inline { justify-content: center; text-align: center; flex-direction: column; gap: 4px; }

/* Demo 通栏广告 */
.hz-ad-demo-banner { background: linear-gradient(135deg, #f8faff, #eef3ff) !important; }
.dark .hz-ad-demo-banner { background: linear-gradient(135deg, #1a2236, #1e2a45) !important; }
.hz-ad-demo-inner {
    display: flex; align-items: center; justify-content: center; gap: 16px;
    padding: 18px 24px; text-decoration: none; color: var(--hz-text);
}
.hz-ad-demo-badge {
    font-size: .65rem; background: var(--hz-primary); color: #fff;
    padding: 2px 10px; border-radius: 10px; flex-shrink: 0; letter-spacing: 1px;
}
.hz-ad-demo-text { font-size: .88rem; color: var(--hz-text-light); }
.hz-ad-demo-text i { color: var(--hz-primary); margin-right: 6px; }
.hz-ad-demo-link { font-size: .82rem; color: var(--hz-primary); font-weight: 500; flex-shrink: 0; }
@media (max-width: 768px) {
    .hz-ad-demo-inner { flex-wrap: wrap; gap: 8px; padding: 14px 16px; }
    .hz-ad-demo-text { font-size: .8rem; flex-basis: 100%; text-align: center; }
}

/* ═══════════════════════════════════════════
 * Footer
 * ═══════════════════════════════════════════ */
.footer { color: rgba(255,255,255,.7); font-size: .88rem; margin-top: 40px; }
.footer-cta { background: linear-gradient(135deg, var(--hz-primary), #3d8bfd); padding: 48px 0; text-align: center; color: #fff; }
.footer-cta h2 { font-size: 1.6rem; margin-bottom: 8px; }
.footer-cta p { font-size: .95rem; opacity: .85; margin-bottom: 20px; }
.footer-cta-btns { display: flex; gap: 12px; justify-content: center; }
.hz-btn-primary { display: inline-flex; align-items: center; padding: 10px 28px; background: #fff; color: var(--hz-primary); border-radius: 24px; font-weight: 600; transition: all var(--hz-transition); }
.hz-btn-primary:hover { background: rgba(255,255,255,.9); color: var(--hz-primary-dark); transform: translateY(-1px); }
.hz-btn-outline { display: inline-flex; align-items: center; padding: 10px 28px; border: 1px solid rgba(255,255,255,.5); color: #fff; border-radius: 24px; font-weight: 500; transition: all var(--hz-transition); }
.hz-btn-outline:hover { background: rgba(255,255,255,.15); border-color: #fff; color: #fff; }

/* ═══ 站点概览区 ═══ */
.footer-overview { padding: 40px 0 32px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-overview-grid { display: grid; grid-template-columns: 1.4fr 1.2fr 1fr .8fr; gap: 32px; }
.footer-overview-brand { }
.footer-brand-logo { display: inline-block; font-size: 1.3rem; font-weight: 700; color: #fff; margin-bottom: 10px; }
.footer-brand-logo img { max-height: 36px; width: auto; }
.footer-brand-slogan { font-size: .95rem; color: rgba(255,255,255,.85); font-weight: 500; margin-bottom: 6px; line-height: 1.5; }
.footer-brand-desc { font-size: .82rem; color: rgba(255,255,255,.5); line-height: 1.6; margin-bottom: 12px; }
.footer-brand-email { font-size: .82rem; color: rgba(255,255,255,.5); margin-top: 8px; }
.footer-brand-email i { margin-right: 4px; color: var(--hz-primary); }

/* 社交链接 */
.footer-social-links { display: flex; gap: 8px; margin-top: 12px; }
.footer-social-links a { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); font-size: .9rem; transition: all .3s ease; }
.footer-social-links a:hover { background: var(--hz-primary); color: #fff; transform: translateY(-2px); }

/* 页脚最新文章 */
.footer-overview-posts h4, .footer-overview-nav h4, .footer-overview-follow h4 { font-size: .9rem; color: rgba(255,255,255,.9); margin-bottom: 14px; display: flex; align-items: center; gap: 6px; }
.footer-overview-posts h4 i, .footer-overview-follow h4 i { color: var(--hz-primary); font-size: .95rem; }
.footer-recent-list { display: flex; flex-direction: column; gap: 0; }
.footer-recent-list li { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 1px dashed rgba(255,255,255,.06); }
.footer-recent-list li:last-child { border-bottom: none; }
.footer-recent-list a { flex: 1; font-size: .82rem; color: rgba(255,255,255,.6); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .25s ease; padding-right: 10px; }
.footer-recent-list a:hover { color: var(--hz-primary); }
.footer-recent-list time { font-size: .72rem; color: rgba(255,255,255,.3); flex-shrink: 0; }

/* 页脚快速导航 */
.footer-overview-nav { display: flex; gap: 24px; }
.footer-nav-group h4 { font-size: .85rem; }
.footer-nav-group a { display: block; font-size: .8rem; color: rgba(255,255,255,.5); padding: 3px 0; transition: color .25s ease; }
.footer-nav-group a:hover { color: var(--hz-primary); }

/* 关注我们 */
.footer-qr-code { text-align: center; }
.footer-qr-code img { width: 110px; height: 110px; border-radius: 8px; border: 2px solid rgba(255,255,255,.1); object-fit: cover; margin: 0 auto 6px; }
.footer-qr-code span { font-size: .75rem; color: rgba(255,255,255,.4); }
.footer-bookmark-tip { font-size: .82rem; color: rgba(255,255,255,.5); line-height: 1.6; }
.footer-bookmark-tip kbd { display: inline-block; padding: 2px 6px; background: rgba(255,255,255,.1); border-radius: 3px; font-size: .75rem; font-family: inherit; color: rgba(255,255,255,.7); }
.footer-site-days { margin-top: 16px; text-align: center; padding: 16px; background: rgba(255,255,255,.04); border-radius: 10px; border: 1px solid rgba(255,255,255,.06); }
.footer-site-days strong { display: block; font-size: 2rem; color: var(--hz-primary); font-weight: 800; line-height: 1; }
.footer-site-days span { font-size: .85rem; color: rgba(255,255,255,.6); }
.footer-site-days em { display: block; font-size: .75rem; color: rgba(255,255,255,.35); font-style: normal; margin-top: 4px; }

/* ═══ 站点数据统计条 ═══ */
.footer-stats-bar { background: rgba(255,255,255,.03); border-bottom: 1px solid rgba(255,255,255,.06); }
.footer-stats-grid { display: flex; justify-content: space-around; padding: 18px 0; flex-wrap: wrap; gap: 12px; }
.footer-stat-item { display: flex; align-items: center; gap: 8px; }
.footer-stat-item i { font-size: 1.1rem; color: var(--hz-primary); }
.footer-stat-item strong { font-size: 1.1rem; color: rgba(255,255,255,.9); font-weight: 700; }
.footer-stat-item span { font-size: .78rem; color: rgba(255,255,255,.4); }

/* ═══ 服务保障条 ═══ */
.footer-assurance { background: rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-assurance-grid { display: flex; justify-content: space-around; padding: 20px 0; flex-wrap: wrap; gap: 16px; }
.footer-assurance-item { display: flex; align-items: center; gap: 10px; }
.footer-assurance-item i { font-size: 1.3rem; color: var(--hz-primary); }
.footer-assurance-item strong { display: block; font-size: .88rem; color: rgba(255,255,255,.9); }
.footer-assurance-item span { font-size: .75rem; color: rgba(255,255,255,.5); }

/* ═══ 友情链接 ═══ */
.footer-friend-links { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-friend-links-head { margin-bottom: 10px; }
.footer-friend-links-head strong { font-size: .85rem; color: rgba(255,255,255,.6); }
.footer-friend-links-head i { margin-right: 4px; color: var(--hz-primary); }
.footer-friend-links-list { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.footer-friend-links-list a { font-size: .8rem; color: rgba(255,255,255,.4); transition: color .25s ease; white-space: nowrap; }
.footer-friend-links-list a:hover { color: var(--hz-primary); }

/* ═══ 版权备案区 ═══ */
.footer-bottom-area { padding: 18px 0; text-align: center; font-size: .78rem; color: rgba(255,255,255,.35); }
.footer-bottom-inner { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.footer-bottom-area a { color: rgba(255,255,255,.45); transition: color .25s ease; }
.footer-bottom-area a:hover { color: var(--hz-primary); }

/* ═══ 返回顶部按钮 ═══ */
.hz-back-top-btn {
    position: fixed !important;
    right: 24px !important;
    bottom: 60px !important;
    z-index: 999;
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--hz-primary);
    border: none;
    box-shadow: 0 4px 16px rgba(10,99,255,.3);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem; color: #fff;
    transition: all .3s ease;
    opacity: 0; transform: translateY(20px); pointer-events: none;
}
.hz-back-top-btn.is-visible {
    opacity: 1; transform: translateY(0); pointer-events: auto;
}
.hz-back-top-btn:hover {
    background: var(--hz-primary-dark);
    box-shadow: 0 6px 24px rgba(10,99,255,.4);
    transform: translateY(-3px);
}
.hz-float-ad { position: fixed; z-index: 80; }
.hz-float-ad--left { left: 0; bottom: 100px; }
.hz-float-ad--right { right: 0; bottom: 100px; }
.hz-stats-code { display: none; }

/* ═══════════════════════════════════════════
 * 内容页 — 匹配 hzjcp.com
 * ═══════════════════════════════════════════ */
.article-detail-card { background: var(--hz-white); border-radius: var(--hz-radius); box-shadow: var(--hz-shadow); padding: 28px 32px; margin-bottom: 24px; }
.article-detail-breadcrumb { margin-bottom: 12px; }
.article-detail-breadcrumb a { display: inline-block; padding: 3px 12px; background: var(--hz-primary-light); color: var(--hz-primary); border-radius: 4px; font-size: .8rem; font-weight: 500; }
.article-detail-breadcrumb a:hover { background: var(--hz-primary); color: #fff; }
.article-detail-header { margin-bottom: 20px; }
.article-detail-title { font-size: 1.6rem; font-weight: 800; line-height: 1.4; margin-bottom: 12px; color: var(--hz-text); }
.article-detail-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: .85rem; color: var(--hz-text-muted); }
.article-detail-meta-item { display: flex; align-items: center; gap: 4px; }
.article-detail-meta-item i { font-size: .82rem; }
.article-detail-summary { background: var(--hz-primary-light); border-left: 4px solid var(--hz-primary); border-radius: 0 var(--hz-radius-sm) var(--hz-radius-sm) 0; padding: 16px 20px; margin-bottom: 24px; }
.article-detail-summary strong { display: block; font-size: .85rem; color: var(--hz-primary); margin-bottom: 6px; }
.article-detail-summary p { font-size: .9rem; color: var(--hz-text-light); line-height: 1.7; }
.article-detail-content { font-size: 1rem; line-height: 1.85; color: var(--hz-text); }
.article-detail-content h2 { font-size: 1.3rem; margin: 28px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--hz-border); }
.article-detail-content h3 { font-size: 1.15rem; margin: 24px 0 10px; }
.article-detail-content h4 { font-size: 1.05rem; margin: 20px 0 8px; }
.article-detail-content p { margin-bottom: 16px; }
.article-detail-content img { border-radius: var(--hz-radius-sm); margin: 16px auto; }
.article-detail-content blockquote { border-left: 4px solid var(--hz-primary); background: var(--hz-bg); padding: 16px 20px; margin: 16px 0; border-radius: 0 var(--hz-radius-sm) var(--hz-radius-sm) 0; font-style: italic; color: var(--hz-text-light); }
.article-detail-content pre { background: #1e293b; color: #e2e8f0; padding: 16px 20px; border-radius: var(--hz-radius-sm); overflow-x: auto; margin: 16px 0; font-size: .88rem; line-height: 1.6; }
.article-detail-content code { background: var(--hz-bg); padding: 2px 6px; border-radius: 3px; font-size: .88em; }
.article-detail-content pre code { background: none; padding: 0; }
.article-detail-content ul, .article-detail-content ol { padding-left: 24px; margin-bottom: 16px; }
.article-detail-content li { margin-bottom: 4px; list-style: disc; }
.article-detail-content ol li { list-style: decimal; }
.article-detail-content table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.article-detail-content th, .article-detail-content td { border: 1px solid var(--hz-border); padding: 10px 14px; text-align: left; }
.article-detail-content th { background: var(--hz-bg); font-weight: 600; }
.article-detail-content a { color: var(--hz-primary); border-bottom: 1px dashed var(--hz-primary); }
.article-detail-content a:hover { border-bottom-style: solid; }
.page-links { margin-top: 20px; font-size: .88rem; }
.page-links a { display: inline-block; padding: 4px 12px; background: var(--hz-bg); border-radius: 4px; margin-right: 4px; }
.article-inline-ad { margin: 24px 0; }
.article-share-bar { display: flex; align-items: center; gap: 10px; padding: 16px 0; border-top: 1px solid var(--hz-border); border-bottom: 1px solid var(--hz-border); margin: 20px 0; }
.article-share-label { font-size: .85rem; color: var(--hz-text-muted); }
.article-share-btn { display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; border-radius: 16px; font-size: .82rem; background: var(--hz-bg); color: var(--hz-text-light); transition: all var(--hz-transition); }
.article-share-btn:hover { background: var(--hz-primary-light); color: var(--hz-primary); }
.article-detail-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0; }
.article-detail-tags a { display: inline-flex; align-items: center; padding: 4px 12px; background: var(--hz-bg); border-radius: 14px; font-size: .82rem; color: var(--hz-text-light); transition: all var(--hz-transition); }
.article-detail-tags a:hover { background: var(--hz-primary-light); color: var(--hz-primary); }
.article-copyright-box { background: var(--hz-bg); border-radius: var(--hz-radius); padding: 20px; margin: 20px 0; }
.article-copyright-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.article-copyright-head strong { font-size: .95rem; }
.article-copyright-head span { font-size: .82rem; color: var(--hz-text-muted); }
.article-copyright-body p { font-size: .85rem; color: var(--hz-text-light); margin-bottom: 6px; line-height: 1.6; }
.article-copyright-body a { color: var(--hz-primary); word-break: break-all; }
.article-detail-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.article-detail-nav-item { background: var(--hz-white); border: 1px solid var(--hz-border); border-radius: var(--hz-radius); padding: 16px; transition: all var(--hz-transition); }
.article-detail-nav-item:hover { border-color: var(--hz-primary); box-shadow: var(--hz-shadow); }
.article-detail-nav-label { display: block; font-size: .78rem; color: var(--hz-text-muted); margin-bottom: 6px; }
.article-detail-nav-item a { display: flex; align-items: center; gap: 10px; color: var(--hz-text); }
.article-detail-nav-item a:hover { color: var(--hz-primary); }
.article-detail-nav-title { font-size: .9rem; font-weight: 500; }
.article-detail-nav-thumb { width: 60px; height: 40px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.article-detail-nav-thumb img { width: 100%; height: 100%; object-fit: cover; }
.article-detail-nav-empty { font-size: .85rem; color: var(--hz-text-muted); }
.article-related-section { margin: 28px 0; }
.article-related-title { font-size: 1.1rem; font-weight: 700; margin-bottom: 16px; padding-left: 12px; border-left: 4px solid var(--hz-primary); }
.article-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.article-related-card { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: var(--hz-white); border: 1px solid var(--hz-border); border-radius: var(--hz-radius); transition: all var(--hz-transition); }
.article-related-card:hover { border-color: var(--hz-primary); box-shadow: var(--hz-shadow); transform: translateY(-1px); }
.article-related-card-cat { font-size: .72rem; color: var(--hz-primary); background: var(--hz-primary-light); padding: 2px 8px; border-radius: 4px; align-self: flex-start; }
.article-related-card-title { font-size: .9rem; font-weight: 500; color: var(--hz-text); line-height: 1.4; }
.article-related-card-date { font-size: .75rem; color: var(--hz-text-muted); }
.article-cover { margin-bottom: 20px; border-radius: var(--hz-radius); overflow: hidden; }
.article-cover img { width: 100%; }
.archive-desc { background: var(--hz-white); border-radius: var(--hz-radius); padding: 16px 20px; margin-bottom: 20px; font-size: .9rem; color: var(--hz-text-light); box-shadow: var(--hz-shadow); }

/* 评论区 */
.comments-area { background: var(--hz-white); border-radius: var(--hz-radius); box-shadow: var(--hz-shadow); padding: 24px; margin-top: 24px; }
.comments-area .comment-list { list-style: none; }
.comments-area .comment-body { padding: 16px 0; border-bottom: 1px solid var(--hz-border); }
.comments-area .comment-author { font-weight: 600; font-size: .9rem; }
.comments-area .comment-metadata { font-size: .78rem; color: var(--hz-text-muted); margin-top: 2px; }
.comments-area .comment-content { font-size: .9rem; margin-top: 8px; line-height: 1.6; }
.comments-area .reply a { font-size: .82rem; color: var(--hz-primary); }
.comment-form label { display: block; font-size: .88rem; font-weight: 500; margin-bottom: 4px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); font-size: .9rem; outline: none; transition: border-color var(--hz-transition); }
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--hz-primary); }
.comment-form textarea { min-height: 120px; resize: vertical; }
.comment-form .form-submit { margin-top: 12px; }
.comment-form .submit { background: var(--hz-primary); color: #fff; border: none; padding: 10px 28px; border-radius: 20px; cursor: pointer; font-size: .9rem; font-weight: 500; transition: background var(--hz-transition); }
.comment-form .submit:hover { background: var(--hz-primary-dark); }
.error-404 { text-align: center; padding: 80px 20px; }
.error-404 h1 { font-size: 6rem; color: var(--hz-primary); margin-bottom: 8px; }
.error-404 p { font-size: 1.1rem; color: var(--hz-text-light); margin-bottom: 24px; }

/* 暗黑模式 */
body.dark { --hz-text: #e2e8f0; --hz-text-light: #94a3b8; --hz-text-muted: #64748b; --hz-bg: #0f172a; --hz-white: #1e293b; --hz-border: #334155; --hz-shadow: 0 2px 12px rgba(0,0,0,.2); --hz-shadow-lg: 0 8px 30px rgba(0,0,0,.3); --hz-primary-light: rgba(10,99,255,.15); }
body.dark .site-header { background: rgba(15,23,42,.85); }
body.dark .site-search-modal__inner { background: var(--hz-white); }
body.dark .article-detail-content pre { background: #0f172a; }
body.dark .footer { color: rgba(255,255,255,.6); }

/* 响应式 */
@media (max-width: 1024px) {
    .home-flow-layout { flex-direction: column; }
    .home-flow-side { width: 100%; }
    .home-showcase-grid { grid-template-columns: repeat(2, 1fr); }
    .article-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .desktop-main-nav { display: none; }
    .site-header-actions .dark-mode-toggle { display: none; }
    .mobile-menu-toggle { display: flex; }
    .header-submit-btn { display: none; }
    .home-post-item { flex-direction: column; }
    .home-post-cover { width: 100%; min-height: 180px; }
    .home-post-body { padding: 12px; }
    .home-showcase-grid { grid-template-columns: 1fr; }
    .home-hero-banner { aspect-ratio: 16/9; }
    .article-detail-card { padding: 16px; }
    .article-detail-title { font-size: 1.25rem; }
    .article-detail-nav { grid-template-columns: 1fr; }
    .article-related-grid { grid-template-columns: 1fr; }
    .footer-overview-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .footer-overview-nav { flex-direction: column; gap: 16px; }
    .footer-assurance-grid { flex-direction: column; align-items: flex-start; }
    .footer-stats-grid { gap: 8px; }
    .footer-stat-item { font-size: .82rem; }
    .article-detail-meta { font-size: .78rem; gap: 8px; }
    .home-list-head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .hz-float-ad { display: none; }
    .footer-bottom-inner { flex-direction: column; gap: 4px; }
}
@media (max-width: 480px) {
    .container { padding: 0 12px; }
    .home-hero-banner { aspect-ratio: 4/3; }
    .home-post-body h2 { font-size: .95rem; }
    .article-detail-title { font-size: 1.1rem; }
    .footer-overview-grid { grid-template-columns: 1fr; gap: 20px; }
    .footer-overview-nav { flex-direction: column; }
    .footer-stats-grid { flex-direction: column; align-items: center; gap: 6px; }
    .footer-cta h2 { font-size: 1.2rem; }
    .footer-cta-btns { flex-direction: column; align-items: center; }
}

/* WordPress 核心兼容 */
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute; }
.alignleft { float: left; margin-right: 16px; }
.alignright { float: right; margin-left: 16px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .82rem; color: var(--hz-text-muted); text-align: center; padding: 4px 0; }
.gallery { display: flex; flex-wrap: wrap; gap: 8px; }
.gallery-item { margin: 0; }
.sticky { }

/* ═══════════════════════════════════════════
 * WordPress 自定义菜单样式
 * ═══════════════════════════════════════════ */
.desktop-main-nav > ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.desktop-main-nav > ul > li > a { display: flex; align-items: center; gap: 4px; padding: 8px 14px; border-radius: var(--hz-radius-sm); color: var(--hz-text); font-size: .9rem; font-weight: 500; white-space: nowrap; transition: background var(--hz-transition), color var(--hz-transition); }
.desktop-main-nav > ul > li > a:hover { background: var(--hz-primary-light); color: var(--hz-primary); }
.nav-placeholder { font-size: .85rem; color: var(--hz-text-muted); margin: 0; }
.nav-placeholder a { color: var(--hz-primary); }
.mobile-main-nav > ul { list-style: none; margin: 0; padding: 0; }

/* ═══════════════════════════════════════════
 * 侧边栏小工具通用样式
 * ═══════════════════════════════════════════ */
.widget .widget-inner { padding: 0; }
.widget > .cms-side-title { margin-bottom: 12px; }
.widget > .cms-side-title + .widget-inner { padding: 0; }

/* 搜索小工具 */
.widget .search-form { display: flex; gap: 8px; }
.widget .search-form input[type="search"] { flex: 1; padding: 8px 12px; border: 1px solid var(--hz-border); border-radius: var(--hz-radius-sm); font-size: .88rem; outline: none; }
.widget .search-form input[type="search"]:focus { border-color: var(--hz-primary); }
.widget .search-form input[type="submit"] { background: var(--hz-primary); color: #fff; border: none; padding: 8px 14px; border-radius: var(--hz-radius-sm); cursor: pointer; font-size: .85rem; }

/* 分类/归档列表小工具 */
.widget .widget-inner ul { list-style: none; margin: 0; padding: 0; }
.widget .widget-inner li { padding: 7px 0; border-bottom: 1px solid var(--hz-border); font-size: .88rem; }
.widget .widget-inner li:last-child { border-bottom: none; }
.widget .widget-inner li a { color: var(--hz-text); display: flex; justify-content: space-between; align-items: center; }
.widget .widget-inner li a:hover { color: var(--hz-primary); }

/* 最新文章/热门文章小工具 */
.widget .widget-inner .recent-posts li { display: flex; flex-direction: column; gap: 2px; }
.widget .widget-inner .recent-posts li a { font-weight: 500; }
.widget .widget-inner .recent-posts li .post-date { font-size: .75rem; color: var(--hz-text-muted); }

/* 自定义 HTML / 文本小工具 */
.widget_text .widget-inner { font-size: .88rem; line-height: 1.6; color: var(--hz-text-light); }
.widget_text .widget-inner img { border-radius: var(--hz-radius-sm); }
.widget_text .widget-inner a { color: var(--hz-primary); }

/* Tag 云小工具 */
.widget_tag_cloud .widget-inner { display: flex; flex-wrap: wrap; gap: 6px; }
.widget_tag_cloud .tagcloud { display: flex; flex-wrap: wrap; gap: 6px; }
.widget_tag_cloud .tagcloud a { display: inline-flex; align-items: center; padding: 3px 10px; background: var(--hz-bg); border-radius: 14px; font-size: .78rem !important; color: var(--hz-text-light); transition: all var(--hz-transition); }
.widget_tag_cloud .tagcloud a:hover { background: var(--hz-primary-light); color: var(--hz-primary); }

/* 导航菜单小工具（侧边栏中） */
.widget_nav_menu .widget-inner ul { list-style: none; }
.widget_nav_menu .widget-inner li { padding: 6px 0; border-bottom: 1px solid var(--hz-border); }
.widget_nav_menu .widget-inner li:last-child { border-bottom: none; }
.widget_nav_menu .widget-inner li a { color: var(--hz-text); font-size: .88rem; }
.widget_nav_menu .widget-inner li a:hover { color: var(--hz-primary); }
.widget_nav_menu .widget-inner .sub-menu { padding-left: 16px; margin-top: 4px; }

/* 页面列表小工具 */
.widget_pages .widget-inner ul { list-style: none; }
.widget_pages .widget-inner li { padding: 6px 0; border-bottom: 1px solid var(--hz-border); }
.widget_pages .widget-inner li:last-child { border-bottom: none; }
.widget_pages .widget-inner li a { color: var(--hz-text); font-size: .88rem; }
.widget_pages .widget-inner li a:hover { color: var(--hz-primary); }

/* 日历小工具 */
.widget_calendar table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.widget_calendar th, .widget_calendar td { padding: 6px 4px; text-align: center; border: 1px solid var(--hz-border); }
.widget_calendar th { background: var(--hz-bg); font-weight: 600; }
.widget_calendar #today { background: var(--hz-primary); color: #fff; }
.widget_calendar caption { font-weight: 600; margin-bottom: 8px; font-size: .9rem; }

/* RSS 小工具 */
.widget_rss .widget-inner .rsswidget { font-weight: 500; }
.widget_rss .widget-inner .rss-date { font-size: .75rem; color: var(--hz-text-muted); display: block; }
.widget_rss .widget-inner .rssSummary { font-size: .85rem; color: var(--hz-text-light); margin-top: 4px; }

/* 媒体画廊小工具 */
.widget_media_gallery .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.widget_media_gallery .gallery img { border-radius: 4px; aspect-ratio: 1; object-fit: cover; }

/* 图片小工具 */
.widget_media_image img { border-radius: var(--hz-radius-sm); }

/* 广告图片样式 */
.widget .widget-inner .ad-image { display: block; border-radius: var(--hz-radius-sm); overflow: hidden; }
.widget .widget-inner .ad-image img { width: 100%; display: block; }

/* ═══════════════════════════════════════════
 * 滚动渐入动画 (Scroll Reveal)
 * ═══════════════════════════════════════════ */
.is-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .6s cubic-bezier(.25,.46,.45,.94), transform .6s cubic-bezier(.25,.46,.45,.94);
    will-change: opacity, transform;
}
.is-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}
/* 侧边栏小工具从右侧滑入 */
.cms-side-card.is-reveal {
    transform: translateX(20px);
}
.cms-side-card.is-revealed {
    opacity: 1;
    transform: translateX(0);
}

/* ═══════════════════════════════════════════
 * 图片加载淡入
 * ═══════════════════════════════════════════ */
.home-post-cover img, .home-hero-slide img {
    transition: opacity .5s ease, transform .4s ease;
}
.home-post-cover img.is-loading, .home-hero-slide img.is-loading {
    opacity: 0;
}
.home-post-cover img.is-loaded, .home-hero-slide img.is-loaded {
    opacity: 1;
}

/* ═══════════════════════════════════════════
 * 文章卡片悬停光效
 * ═══════════════════════════════════════════ */
.home-post-item {
    position: relative;
    overflow: hidden;
}
.home-post-item::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(10,99,255,.04), transparent 40%);
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
    z-index: 1;
}
.home-post-item:hover::before {
    opacity: 1;
}
.home-post-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(10,99,255,.1), 0 4px 12px rgba(0,0,0,.06);
}

/* ═══════════════════════════════════════════
 * 分页按钮涟漪效果
 * ═══════════════════════════════════════════ */
.home-page-item {
    position: relative;
    overflow: hidden;
}
.page-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(10,99,255,.15);
    transform: scale(0);
    animation: rippleEffect .6s ease-out;
    pointer-events: none;
}
@keyframes rippleEffect {
    to { transform: scale(2.5); opacity: 0; }
}

/* ═══════════════════════════════════════════
 * 页面加载动画
 * ═══════════════════════════════════════════ */
body {
    animation: pageFadeIn .5s ease-out;
}
@keyframes pageFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ═══════════════════════════════════════════
 * 置顶文章增强样式
 * ═══════════════════════════════════════════ */
.home-post-item.is-sticky {
    border-left: 4px solid #ff6b35;
    background: linear-gradient(135deg, #fff8f5 0%, var(--hz-white) 40%);
    box-shadow: 0 2px 16px rgba(255,107,53,.08);
}
.home-post-item.is-sticky h2 a {
    color: #ff6b35;
}
.home-post-item.is-sticky h2 a:hover {
    color: #e55a25;
}
.home-post-item.is-sticky .home-post-top {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: linear-gradient(135deg, #ff6b35, #ff8c42);
    color: #fff;
    font-size: .72rem;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    margin-right: 8px;
    vertical-align: middle;
    box-shadow: 0 2px 8px rgba(255,107,53,.3);
    animation: stickyPulse 2s ease-in-out infinite;
}
.dark .home-post-item.is-sticky {
    background: linear-gradient(135deg, rgba(255,107,53,.06) 0%, var(--hz-white) 40%);
}
.dark .home-post-item.is-sticky h2 a {
    color: #ff8c42;
}
.dark .home-post-item.is-sticky h2 a:hover {
    color: #ffab6b;
}
@keyframes stickyPulse {
    0%, 100% { box-shadow: 0 2px 8px rgba(255,107,53,.3); }
    50% { box-shadow: 0 2px 12px rgba(255,107,53,.5); }
}

/* 置顶文章分隔区 */
.home-sticky-section {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--hz-border);
}
.home-sticky-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .82rem;
    color: #ff6b35;
    font-weight: 600;
    margin-bottom: 12px;
    padding: 4px 12px;
    background: rgba(255,107,53,.08);
    border-radius: 16px;
}
.home-sticky-label i {
    font-size: .9rem;
}

/* ═══════════════════════════════════════════
 * Showcase 广告位悬停动画
 * ═══════════════════════════════════════════ */
.home-showcase-vacancy {
    transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.home-showcase-vacancy:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(10,99,255,.08);
}

/* ═══════════════════════════════════════════
 * 分类 Tab 切换动画增强
 * ═══════════════════════════════════════════ */
.home-list-tabs a {
    transition: all .3s cubic-bezier(.25,.46,.45,.94);
}
.home-list-tabs a:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(10,99,255,.15);
}

/* ═══════════════════════════════════════════
 * 侧边栏小工具悬停效果
 * ═══════════════════════════════════════════ */
.cms-side-card {
    transition: transform .3s ease, box-shadow .3s ease;
}
.cms-side-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

/* ═══════════════════════════════════════════
 * 暗黑模式动画适配
 * ═══════════════════════════════════════════ */
.dark .home-post-item::before {
    background: radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(10,99,255,.06), transparent 40%);
}
.dark .home-post-item:hover {
    box-shadow: 0 12px 36px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.2);
}
