/* ============================================================
   YYWU.CN - 首页样式表
   主色系: 蓝色 (#1a6ef0 / #1557b0)
   ============================================================ */

/* ---------- CSS变量 ---------- */
:root {
    --primary: #1a6ef0;
    --primary-dark: #1557b0;
    --primary-light: #e8f1fd;
    --primary-lighter: #f0f6ff;
    --accent: #ff6b35;
    --gold: #f59e0b;
    --gold-light: #fffbeb;
    --text: #1a1a2e;
    --text-secondary: #5a5a7a;
    --text-muted: #9999b3;
    --bg: #ffffff;
    --bg-light: #f8f9fc;
    --bg-lighter: #f3f5f9;
    --border: #e8ecf2;
    --border-light: #f0f2f6;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --shadow: 0 4px 16px rgba(0,0,0,0.06);
    --shadow-lg: 0 8px 30px rgba(0,0,0,0.08);
    --shadow-xl: 0 12px 40px rgba(0,0,0,0.1);
    --radius-sm: 6px;
    --radius: 10px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
    --font: -apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
    width: 100%;
    overflow-x: hidden;
    font-family: var(--font);
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; display: block; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input { font-family: inherit; border: none; outline: none; }
section, .container { max-width: 100%; }
.container { max-width: 1600px; margin: 0 auto; padding: 0 24px; }

/* ---------- 顶部导航 ---------- */
.header { position: sticky; top: 0; z-index: 1000; background: #fff; box-shadow: var(--shadow-sm); }
.header-main .container { display: flex; align-items: center; height: 68px; gap: 24px; }

/* Logo */
.logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; margin-right: 8px; }
.logo img { max-height: 42px; }
.logo-mobile { display: none; align-items: center; flex-shrink: 0; margin-right: 8px; }
.logo-mobile img { max-height: 36px; }

/* 移动端导航按钮 */
.nav-toggle {
    display: none;
    width: 36px; height: 36px;
    align-items: center; justify-content: center;
    background: none; border: none; border-radius: var(--radius-sm);
    font-size: 20px; color: var(--text-secondary); cursor: pointer;
    flex-shrink: 0; transition: var(--transition);
}
.nav-toggle:hover { color: var(--primary); background: var(--bg); }
.logo-accent { color: var(--primary); font-weight: 900; }

/* 导航 */
.nav { display: flex; gap: 4px; flex: 1; }
.nav-item {
    padding: 8px 16px; border-radius: var(--radius-sm);
    font-size: 14px; font-weight: 500;
    color: var(--text-secondary); transition: var(--transition);
    white-space: nowrap;
}
.nav-item:hover { color: var(--primary); background: var(--primary-lighter); }
.nav-item.active { color: var(--primary); font-weight: 600; background: var(--primary-lighter); }
.nav-vip-btn {
    display: inline-flex; align-items: center; gap: 6px;
    margin-left: 6px; padding: 8px 16px;
    color: #fff !important; font-weight: 800;
    background: linear-gradient(135deg, #f59e0b 0%, #f97316 52%, #ef4444 100%);
    box-shadow: 0 8px 20px rgba(249, 115, 22, .22);
}
.nav-vip-btn i { font-size: 13px; color: #fff7d6; }
.nav-vip-btn:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #fbbf24 0%, #f97316 52%, #dc2626 100%);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(249, 115, 22, .3);
}

/* 搜索入口按钮 */
.search-trigger {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: var(--text-secondary); transition: var(--transition);
    background: var(--bg-light); flex-shrink: 0;
}
.search-trigger:hover { color: var(--primary); background: var(--primary-lighter); }

/* 用户操作 */
.user-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.btn-login, .btn-register {
    padding: 7px 18px; border-radius: var(--radius-sm);
    font-size: 13px; font-weight: 500; transition: var(--transition); white-space: nowrap;
}
.btn-login { color: var(--primary); border: 1.5px solid var(--primary); }
.btn-login:hover { background: var(--primary-lighter); }
.btn-register { color: #fff; background: var(--primary); }
.btn-register:hover { background: var(--primary-dark); }

.btn-notify {
    position: relative; width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: var(--text-secondary); transition: var(--transition);
    background: var(--bg-light);
}
.btn-notify:hover { color: var(--primary); background: var(--primary-lighter); }
.notify-badge {
    position: absolute; top: 2px; right: 2px;
    width: 16px; height: 16px; background: var(--accent);
    color: #fff; font-size: 10px; font-weight: 600;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
}

/* 消息下拉 */
.notify-dropdown { position: relative; }
.notify-panel {
    position: absolute; top: 100%; right: 0; margin-top: 8px;
    width: 320px; background: #fff; border-radius: var(--radius);
    box-shadow: var(--shadow-xl); border: 1px solid var(--border-light);
    opacity: 0; visibility: hidden; transform: translateY(-4px);
    transition: all 0.2s ease; z-index: 1100;
}
.notify-dropdown:hover .notify-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.notify-panel-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 16px; border-bottom: 1px solid var(--border-light);
}
.notify-panel-header h4 { font-size: 15px; font-weight: 600; color: var(--text); }
.notify-all { font-size: 12px; color: var(--primary); }
.notify-all:hover { text-decoration: underline; }
.notify-list { max-height: 260px; overflow-y: auto; }
.notify-item {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px 16px; transition: var(--transition);
    border-bottom: 1px solid var(--border-light);
}
.notify-item:last-child { border-bottom: none; }
.notify-item:hover { background: var(--bg-light); }
.notify-item.unread { background: var(--primary-lighter); }
.notify-item-icon {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--primary-light); color: var(--primary);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; flex-shrink: 0;
}
.notify-item.unread .notify-item-icon { background: var(--primary); color: #fff; }
.notify-item-body p {
    font-size: 13px; color: var(--text); line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.notify-item-body span { font-size: 11px; color: var(--text-muted); display: block; margin-top: 4px; }

/* 会员头像下拉 */
.user-dropdown { position: relative; }
.user-avatar-link {
    display: flex; align-items: center; gap: 6px;
    padding: 4px 8px; border-radius: 24px;
    transition: var(--transition); cursor: pointer;
    color: var(--text-secondary); text-decoration: none;
}
.user-avatar-link:hover { background: var(--bg-light); }
.user-avatar {
    width: 34px; height: 34px; border-radius: 50%;
    border: 2px solid var(--primary); object-fit: cover;
}
.user-name { font-size: 13px; font-weight: 500; max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-avatar-link .fa-chevron-down { font-size: 10px; color: var(--text-muted); }

.user-panel {
    position: absolute; top: 100%; right: 0; margin-top: 8px;
    width: 240px; background: #fff; border-radius: var(--radius);
    box-shadow: var(--shadow-xl); border: 1px solid var(--border-light);
    opacity: 0; visibility: hidden; transform: translateY(-4px);
    transition: all 0.2s ease; z-index: 1100;
}
.user-dropdown:hover .user-panel { opacity: 1; visibility: visible; transform: translateY(0); }

.user-panel-top {
    display: flex; align-items: center; gap: 12px;
    padding: 18px 16px; border-bottom: 1px solid var(--border-light);
    background: linear-gradient(135deg, var(--primary-lighter), #fff);
}
.user-panel-avatar { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--primary); }
.user-panel-info strong { font-size: 14px; color: var(--text); display: block; margin-bottom: 2px; }
.user-panel-info p { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.user-vip-badge {
    display: inline-block; padding: 1px 8px;
    background: linear-gradient(135deg, var(--gold), #d97706);
    color: #fff; font-size: 10px; font-weight: 600; border-radius: 10px;
}

.user-panel-links { padding: 6px 0; }
.user-panel-links a {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 20px; font-size: 13px; color: var(--text-secondary);
    transition: var(--transition);
}
.user-panel-links a:hover { color: var(--primary); background: var(--primary-lighter); }
.user-panel-links a i { width: 16px; text-align: center; font-size: 14px; }

.user-panel-bottom { padding: 6px 0; border-top: 1px solid var(--border-light); }
.user-logout {
    display: flex; align-items: center; gap: 10px;
    padding: 9px 20px; font-size: 13px; color: var(--text-muted);
    transition: var(--transition);
}
.user-logout:hover { color: #e53e3e; background: #fff5f5; }

/* ---------- 搜索弹窗 ---------- */
.search-modal {
    background: #fff; border-radius: var(--radius-xl);
    width: 620px; max-width: 95vw;
    position: relative; box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    animation: authSlideIn 0.3s ease;
}
.search-modal .modal-close {
    position: absolute; top: 14px; right: 16px;
    width: 34px; height: 34px; background: var(--bg-light);
    color: var(--text-muted); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; z-index: 10; transition: var(--transition);
}
.search-modal .modal-close:hover { background: var(--border); color: var(--text); }
.search-modal-inner { padding: 36px 36px 28px; }
.search-modal-title { font-size: 22px; font-weight: 700; color: var(--text); margin-bottom: 20px; text-align: center; }
.search-modal-form { display: flex; align-items: stretch; gap: 0; }
.search-category-select { position: relative; flex-shrink: 0; }
.search-cat-btn {
    height: 48px; padding: 0 14px;
    border: 1.5px solid var(--border); border-right: none;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    background: var(--bg-light); color: var(--text-secondary);
    font-size: 13px; font-weight: 500; white-space: nowrap;
    display: flex; align-items: center; gap: 6px;
    transition: var(--transition); min-width: 110px;
}
.search-cat-btn:hover { background: var(--bg-lighter); }
.search-cat-btn .fa-chevron-down { font-size: 10px; color: var(--text-muted); }

.search-cat-dropdown {
    position: absolute; top: 100%; left: 0; margin-top: 4px;
    width: 160px; background: #fff; border-radius: var(--radius);
    box-shadow: var(--shadow-lg); border: 1px solid var(--border-light);
    opacity: 0; visibility: hidden; transform: translateY(-4px);
    transition: all 0.15s ease; z-index: 10; overflow: hidden;
}
.search-cat-dropdown.show { opacity: 1; visibility: visible; transform: translateY(0); }
.search-cat-option {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 16px; font-size: 13px; color: var(--text-secondary);
    transition: var(--transition);
}
.search-cat-option:hover { color: var(--primary); background: var(--primary-lighter); }
.search-cat-option.active { color: var(--primary); background: var(--primary-lighter); font-weight: 500; }
.search-cat-option i { width: 16px; text-align: center; font-size: 14px; }

.search-input-wrap {
    flex: 1; display: flex; align-items: center;
    border: 1.5px solid var(--border); border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    transition: var(--transition); overflow: hidden;
}
.search-input-wrap:focus-within { border-color: var(--primary); }
.search-modal-input {
    flex: 1; height: 48px; padding: 0 16px;
    font-size: 15px; color: var(--text); background: #fff;
}
.search-modal-input::placeholder { color: #bfc5d0; }
.search-modal-btn {
    height: 48px; width: 56px; background: var(--primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; transition: var(--transition); flex-shrink: 0;
}
.search-modal-btn:hover { background: var(--primary-dark); }

.search-hot { margin-top: 18px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.search-hot span { font-size: 12px; color: var(--text-muted); flex-shrink: 0; }
.search-hot a {
    padding: 4px 12px; background: var(--bg-lighter);
    border-radius: 14px; font-size: 12px; color: var(--text-secondary);
    transition: var(--transition);
}
.search-hot a:hover { color: var(--primary); background: var(--primary-lighter); }

/* ---------- 列表页搜索栏 ---------- */
.section-search-bar { padding: 10px 0; background: var(--bg-light); border-bottom: 1px solid var(--border-light); }
.list-filters { display: flex; flex-direction: column; gap: 20px; }
.filter-item { display: flex; align-items: center; gap: 8px; }
.filter-label { font-size: 13px; color: var(--text-muted); white-space: nowrap; flex-shrink: 0; }
.filter-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-tag {
    padding: 4px 14px; border-radius: 16px;
    font-size: 12px; color: var(--text-secondary);
    background: #fff; border: 1px solid var(--border);
    transition: var(--transition); white-space: nowrap;
}
.filter-tag:hover { color: var(--primary); border-color: var(--primary); }
.filter-tag.active { color: #fff; background: var(--primary); border-color: var(--primary); }

/* 列表页 */
.section-list { padding: 30px 0 48px; }
.section-list .section-title::after { display: none; }
.section-subtitle em { color: var(--primary); font-style: normal; font-weight: 600; }

/* 分页 */
.pagination-wrap {
    margin-top: 36px; display: flex; justify-content: center;
    padding: 20px 0;
}
/* 覆盖迅睿CMS各种分页结构 */
.pagination-wrap ul,
.pagination-wrap .pagination {
    display: flex; gap: 4px; flex-wrap: wrap; justify-content: center;
    margin: 0; padding: 0;
}
.pagination-wrap li { list-style: none; margin: 0; }
.pagination-wrap li a,
.pagination-wrap li span {
    display: flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 10px;
    border-radius: var(--radius-sm);
    font-size: 14px; font-weight: 500; color: var(--text-secondary);
    background: #fff; border: 1px solid var(--border);
    transition: var(--transition); text-decoration: none;
}
.pagination-wrap li a:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-lighter); }
.pagination-wrap li.active a,
.pagination-wrap li.active span,
.pagination-wrap .active {
    color: #fff; background: var(--primary); border-color: var(--primary);
}
.pagination-wrap li.disabled a,
.pagination-wrap li.disabled span {
    color: var(--text-muted); background: var(--bg-light); border-color: var(--border-light); cursor: not-allowed; pointer-events: none;
}

/* ---------- 内容页 ---------- */
/* 通用标题 */
.section-heading {
    font-size: 18px; font-weight: 700; color: var(--text);
    margin-bottom: 20px; padding-bottom: 12px;
    border-bottom: 2px solid var(--border);
    display: flex; align-items: center; gap: 8px;
}
.section-heading i { color: var(--primary); }

/* 面包屑 */
.section-breadcrumb { padding: 15px 0; }
.breadcrumbs {
    font-size: 13px; color: var(--text-muted);
    display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
}
.breadcrumbs a { color: var(--text-secondary); transition: var(--transition); }
.breadcrumbs a:hover { color: var(--primary); }
.breadcrumbs .sep { margin: 0 4px; color: var(--border); }

/* 内容页布局 */
.section-show { padding: 0 0 50px; }
.show-layout { display: flex; gap: 36px; align-items: flex-start; }
.show-main { flex: 1; min-width: 0; }
.show-sidebar { width: 300px; flex-shrink: 0; }

/* 文章标题 */
.article-header { margin-bottom: 24px; }
.article-title { font-size: 26px; font-weight: 700; line-height: 1.45; color: var(--text); margin-bottom: 14px; }
.article-meta {
    display: flex; flex-wrap: wrap; gap: 18px;
    font-size: 13px; color: var(--text-muted);
}
.article-meta span { display: flex; align-items: center; gap: 5px; }
.article-meta i { font-size: 14px; }
.article-cat a { color: var(--primary); font-weight: 500; }
.article-cat a:hover { text-decoration: underline; }

/* 文章正文 */
.article-content {
    font-size: 16px; line-height: 1.9; color: var(--text);
    margin-bottom: 30px; word-wrap: break-word;
}
.article-content p { margin-bottom: 16px; }
.article-content img {
    max-width: 100%; height: auto; border-radius: var(--radius);
    margin: 12px 0;
}
.article-content h2 { font-size: 22px; margin: 28px 0 14px; padding-left: 12px; border-left: 4px solid var(--primary); }
.article-content h3 { font-size: 18px; margin: 22px 0 12px; }
.article-content blockquote {
    margin: 16px 0; padding: 14px 20px;
    background: var(--bg-light); border-left: 4px solid var(--primary);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    color: var(--text-secondary);
}
.article-content a { color: var(--primary); text-decoration: underline; }
.article-content ul, .article-content ol { margin: 12px 0; padding-left: 24px; }
.article-content li { margin-bottom: 6px; }

/* 下载区域 */
.download-box {
    margin: 24px 0; border: 2px solid var(--primary);
    border-radius: var(--radius); overflow: hidden;
}
.download-box-header {
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff; padding: 12px 20px; font-size: 15px; font-weight: 600;
    display: flex; align-items: center; gap: 8px;
}
.download-box-body { padding: 20px 24px; }
.download-tip { font-size: 14px; color: var(--text-secondary); margin-bottom: 14px; }
.download-tip i { color: #10b981; margin-right: 4px; }
.download-links { display: flex; gap: 10px; flex-wrap: wrap; }
.download-actions {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.badge-vip {
    display: inline-flex; align-items: center;
    padding: 6px 14px; background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #fff; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600;
}

/* 电影信息条 */
.movie-score { color: #f59e0b; font-weight: 600; }
.movie-info-bar {
    display: flex; gap: 24px; padding: 20px; margin-bottom: 24px;
    background: var(--bg-light); border-radius: var(--radius);
    border: 1px solid var(--border-light);
}
.movie-poster {
    flex-shrink: 0; width: 160px;
    border-radius: var(--radius-sm); overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.movie-poster img { width: 100%; height: auto; display: block; }
.movie-meta-list { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: start; }
.movie-meta-item { font-size: 14px; }
.movie-meta-item .meta-label {
    display: block; font-size: 12px; color: var(--text-muted); margin-bottom: 2px;
}
.movie-meta-item .meta-value { color: var(--text); font-weight: 500; }
.movie-meta-item .movie-rating-value {
    color: #f59e0b; font-weight: 700; font-size: 16px;
}

/* 电影分区标题 */
.movie-section-title {
    font-size: 16px; font-weight: 600; margin-bottom: 14px;
    color: var(--text); display: flex; align-items: center; gap: 8px;
}
.movie-section-title i { color: var(--primary); }

/* 电影简介 */
.movie-intro { margin-bottom: 20px; }

/* BT下载列表 */
.bt-list { margin-top: 16px; }
.bt-list-title {
    font-size: 14px; font-weight: 600; margin-bottom: 10px;
    color: var(--primary); display: flex; align-items: center; gap: 6px;
}
.bt-item { margin-bottom: 6px; }
.bt-link {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; background: #fff;
    border: 1px solid var(--border-light); border-radius: var(--radius-sm);
    color: var(--primary); font-size: 13px; transition: var(--transition);
}
.bt-link:hover { background: var(--primary-lighter); border-color: var(--primary); }

/* 温馨提示 */
.movie-tips {
    margin: 20px 0; padding: 16px 20px;
    background: #fffbeb; border: 1px solid #fde68a;
    border-radius: var(--radius); font-size: 13px; color: var(--text-secondary);
}
.movie-tips .movie-section-title { color: #d97706; }
.movie-tips .movie-section-title i { color: #d97706; }
.movie-tips ul { padding-left: 18px; margin: 0; list-style: disc; }
.movie-tips li { margin-bottom: 6px; line-height: 1.7; }
.movie-tips li:last-child { margin-bottom: 0; }

/* 通用按钮 */
.btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 22px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 500; cursor: pointer; transition: var(--transition); text-decoration: none; border: none; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); }
.btn-outline { background: transparent; color: var(--primary); border: 1.5px solid var(--primary); }
.btn-outline:hover { background: var(--primary-lighter); }
.btn-sm { padding: 6px 14px; font-size: 13px; }

/* 标签 & 分享 同一行 */
.article-tags-share {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
    margin: 20px 0; padding: 16px 0; border-top: 1px solid var(--border-light);
}
/* 文章标签 */
.article-tags {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    font-size: 14px; color: var(--text-secondary);
}
.tag-item {
    display: inline-block; padding: 4px 12px;
    background: var(--bg); border: 1px solid var(--border-light);
    border-radius: 20px; font-size: 12px; color: var(--text-secondary);
    transition: var(--transition);
}
.tag-item:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-lighter); }

/* 操作区 */
.article-actions {
    display: flex; gap: 12px; margin: 14px 0; padding-bottom: 14px;
    border-bottom: 1px solid var(--border-light);
}
.action-btn {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 8px 16px; border-radius: var(--radius-sm);
    border: 1px solid var(--border); font-size: 14px; color: var(--text-secondary);
    cursor: pointer; transition: var(--transition);
}
.action-btn:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-lighter); }

/* 分享 */
.article-share {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; color: var(--text-secondary);
}
.share-icon {
    width: 36px; height: 36px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; color: #fff; transition: var(--transition);
}
.share-weixin { background: #07c160; }
.share-qzone { background: #12b7f5; }
.share-tsina { background: #e6162d; }
.share-icon:hover { transform: scale(1.12); }

/* 版权声明 */
.article-copyright {
    padding: 14px 18px; background: var(--bg-light);
    border-radius: var(--radius-sm); font-size: 13px; color: var(--text-muted);
    margin: 20px 0;
}
.article-copyright i { color: var(--primary); margin-right: 4px; }
.article-copyright a { color: var(--primary); }

/* 上下篇 */
.article-nav {
    display: flex; gap: 16px; margin: 30px 0; padding: 20px 0;
    border-top: 1px solid var(--border-light);
    border-bottom: 1px solid var(--border-light);
}
.article-nav-item { flex: 1; min-width: 0; }
.article-nav-item.next { text-align: right; }
.nav-label { display: block; font-size: 12px; color: var(--text-muted); margin-bottom: 6px; }
.article-nav-item a {
    font-size: 14px; color: var(--text); font-weight: 500;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    overflow: hidden; transition: var(--transition);
}
.article-nav-item a:hover { color: var(--primary); }
.nav-none { font-size: 14px; color: var(--text-muted); }

/* 相关推荐 */
.related-posts { margin-bottom: 36px; }

/* 评论 */
.comment-section { margin-bottom: 40px; }

/* 侧边栏 */
.show-sidebar { position: sticky; top: 84px; }
.sidebar-widget {
    background: #fff; border: 1px solid var(--border-light);
    border-radius: var(--radius); padding: 18px; margin-bottom: 20px;
}
.widget-title {
    font-size: 15px; font-weight: 700; color: var(--text);
    margin-bottom: 14px; padding-bottom: 10px;
    border-bottom: 2px solid var(--border);
    display: flex; align-items: center; gap: 6px;
}
.widget-title i { color: var(--primary); }
.widget-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.widget-tags a {
    display: inline-block; padding: 4px 12px;
    background: var(--bg); border-radius: 20px;
    font-size: 12px; color: var(--text-secondary);
    transition: var(--transition);
}
.widget-tags a:hover { color: var(--primary); background: var(--primary-lighter); }

/* 侧边栏列表 */
.widget-list { list-style: none; }
.widget-list li {
    display: flex; gap: 10px; padding: 10px 0;
    border-bottom: 1px solid var(--border-light);
}
.widget-list li:last-child { border-bottom: none; padding-bottom: 0; }
.widget-list-thumb {
    width: 80px; height: 56px; flex-shrink: 0; overflow: hidden;
    border-radius: var(--radius-sm);
}
.widget-list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.widget-list-body { flex: 1; min-width: 0; }
.widget-list-title {
    font-size: 13px; font-weight: 500; color: var(--text); line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; margin-bottom: 4px; transition: var(--transition);
}
.widget-list-title:hover { color: var(--primary); }
.widget-list-meta { font-size: 12px; color: var(--text-muted); }

/* 内容页响应式 */
@media (max-width: 992px) {
    .show-layout { flex-direction: column; }
    .show-sidebar { width: 100%; position: static; }
    .article-title { font-size: 22px; }
    .article-content { font-size: 15px; }
    .movie-info-bar { gap: 16px; padding: 16px; }
    .movie-poster { width: 140px; }
    .movie-meta-list { gap: 8px; }
}
@media (max-width: 768px) {
    .show-layout { gap: 24px; }
    .article-title { font-size: 20px; }
    .article-meta { gap: 12px; font-size: 12px; }
    .article-content { font-size: 15px; }
    .article-nav { flex-direction: column; gap: 12px; }
    .article-nav-item.next { text-align: left; }
    .download-box-body { padding: 16px; }
    .download-actions { gap: 8px; }
    .show-sidebar { display: none; }
}

/* ---------- 幻灯片 ---------- */
.hero-slider { padding: 24px 0 0; }
.slider-wrapper {
    position: relative; border-radius: var(--radius-xl); overflow: hidden;
    background: linear-gradient(135deg, #0a1a3a 0%, #0d2b5e 30%, #13408a 60%, #1a6ef0 100%);
    min-height: 380px; display: flex; align-items: center;
}
.slider-track { width: 100%; }
.slide { display: none; aspect-ratio: 16 / 5; min-height: 220px; }
.slide.active { display: block; }
.slide-link { display: block; width: 100%; height: 100%; }
.slide-content {
    padding: 60px 80px; max-width: 650px; min-height: inherit;
    display: flex; flex-direction: column; justify-content: center;
    animation: slideIn 0.5s ease;
}
@keyframes slideIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.slide-tag {
    display: inline-block; background: rgba(255,255,255,0.15);
    backdrop-filter: blur(8px); color: #fff;
    padding: 5px 14px; border-radius: 20px;
    font-size: 13px; font-weight: 500; margin-bottom: 20px;
}
.slide-title { font-size: 36px; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 14px; }
.slide-desc { font-size: 15px; color: rgba(255,255,255,0.8); margin-bottom: 28px; line-height: 1.7; }
.slide-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; color: var(--primary);
    padding: 12px 28px; border-radius: 28px;
    font-size: 14px; font-weight: 600; transition: var(--transition);
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}
.slide-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.25); }

/* 轮播箭头与控制点 */
.slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px; background: rgba(255,255,255,0.2);
    backdrop-filter: blur(4px); color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; transition: var(--transition);
}
.slider-arrow:hover { background: rgba(255,255,255,0.35); }
.slider-arrow.prev { left: 16px; }
.slider-arrow.next { right: 16px; }
.slider-dots {
    position: absolute; bottom: 20px; left: 50%;
    transform: translateX(-50%); display: flex; gap: 8px;
}
.dot {
    width: 10px; height: 10px; border-radius: 50%;
    background: rgba(255,255,255,0.35); transition: var(--transition); cursor: pointer;
}
.dot.active { background: #fff; width: 28px; border-radius: 5px; }

/* ---------- 通用区块 ---------- */
.section { padding: 20px 0px 20px 0px; }
.bg-light { background: var(--bg-light); }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; }
.section-header.text-center { justify-content: center; text-align: center; margin-bottom: 36px; }
.section-title { font-size: 26px; font-weight: 800; color: var(--text); position: relative; }
.section-title::after {
    content: ''; display: block; width: 36px; height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--primary-dark));
    border-radius: 2px; margin-top: 8px;
}
.text-center .section-title::after { margin-left: auto; margin-right: auto; }
.section-subtitle { font-size: 13px; color: var(--text-muted); margin-top: 6px; }
.section-more {
    font-size: 13px; color: var(--text-muted); display: flex;
    align-items: center; gap: 4px; transition: var(--transition); white-space: nowrap;
}
.section-more:hover { color: var(--primary); }

/* ---------- 卡片网格 ---------- */
.card-grid { display: grid; gap: 20px; width: 100%; min-width: 0; }
.card, .card-thumb, .card-body { min-width: 0; }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }

/* ---------- 通用卡片 ---------- */
.card {
    background: #fff; border-radius: var(--radius); overflow: hidden;
    box-shadow: var(--shadow-sm); transition: var(--transition);
    border: 1px solid var(--border-light); cursor: pointer;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
.card-thumb {
    position: relative; overflow: hidden; aspect-ratio: 16 / 11;
    background: var(--bg-lighter);
}
.card-thumb::before {
    content: ''; position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(90deg, transparent 0%, rgba(26,110,240,0.06) 40%, rgba(26,110,240,0.1) 50%, rgba(26,110,240,0.06) 60%, transparent 100%);
    background-size: 200% 100%;
    animation: shimmer 1.6s infinite ease-in-out;
    pointer-events: none;
}
.card-thumb.loaded::before { display: none; }
@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
.card-thumb img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease, opacity 0.35s ease;
    opacity: 0;
}
.card-thumb img.loaded { opacity: 1; }
.card:hover .card-thumb img { transform: scale(1.06); }
.card-play-btn {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 48px; height: 48px; background: rgba(26,110,240,0.9); color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 18px; opacity: 0; transition: var(--transition);
    box-shadow: 0 4px 15px rgba(26,110,240,0.4);
}
.card:hover .card-play-btn { opacity: 1; }
.card-play-btn:hover { background: var(--primary); transform: translate(-50%,-50%) scale(1.1); }
.card-body { padding: 14px 16px; }
.card-title {
    font-size: 14px; font-weight: 600; line-height: 1.5;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; margin-bottom: 10px; color: var(--text); transition: var(--transition);
}
.card:hover .card-title { color: var(--primary); }
.card-meta {
    display: flex; align-items: center; gap: 12px;
    font-size: 12px; color: var(--text-muted);
}
.card-meta span { display: flex; align-items: center; gap: 3px; }
.card-category {
    padding: 2px 8px; background: var(--primary-light);
    color: var(--primary); border-radius: 3px; font-size: 11px; font-weight: 500;
}

/* ---------- 音效列表 ---------- */
.audio-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.audio-item {
    display: flex; align-items: center; gap: 14px;
    background: #fff; border: 1px solid var(--border-light);
    border-radius: var(--radius); padding: 14px 18px;
    transition: var(--transition); cursor: pointer;
}
.audio-item:hover { box-shadow: var(--shadow); border-color: transparent; }
.audio-item.playing { background: var(--primary-lighter); border-color: var(--primary); }
.audio-item-play {
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; flex-shrink: 0; transition: var(--transition);
}
.audio-item:hover .audio-item-play,
.audio-item.playing .audio-item-play { background: var(--primary-dark); }
.audio-item-info { flex: 1; min-width: 0; }
.audio-item-title {
    font-size: 14px; font-weight: 600; color: var(--text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    margin-bottom: 4px; transition: var(--transition);
}
.audio-item.playing .audio-item-title { color: var(--primary); }
.audio-item-meta {
    display: flex; align-items: center; gap: 12px;
    font-size: 12px; color: var(--text-muted);
}
.audio-item-meta span { display: flex; align-items: center; gap: 3px; }
.audio-item-duration {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; color: var(--text-muted); flex-shrink: 0;
}

/* ---------- VIP 卡片 ---------- */
.vip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.vip-card {
    background: #fff; border-radius: var(--radius-lg); padding: 28px 24px;
    text-align: center; border: 1.5px solid var(--border);
    transition: var(--transition); position: relative;
}
.vip-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-xl); }
.vip-card.recommended { border-color: var(--primary); box-shadow: var(--shadow-lg); transform: scale(1.03); }
.vip-card.recommended:hover { transform: scale(1.03) translateY(-6px); }
.vip-card.vip-lifetime { background: linear-gradient(180deg, #fffef5 0%, #fff 30%); border-color: var(--gold); }
.vip-badge {
    position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff; padding: 5px 18px; border-radius: 16px;
    font-size: 12px; font-weight: 600; white-space: nowrap;
}
.vip-name { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.vip-price { margin-bottom: 6px; }
.price-symbol { font-size: 18px; font-weight: 600; color: var(--text); vertical-align: super; }
.price-num { font-size: 40px; font-weight: 800; color: var(--text); line-height: 1; }
.price-unit { font-size: 14px; color: var(--text-secondary); }
.vip-card.recommended .price-num,
.vip-card.recommended .price-symbol { color: var(--primary); }
.vip-card.vip-lifetime .price-num,
.vip-card.vip-lifetime .price-symbol { color: var(--gold); }
.vip-original { font-size: 12px; color: var(--text-muted); text-decoration: line-through; margin-bottom: 4px; }
.vip-save { font-size: 12px; color: var(--accent); font-weight: 500; }
.vip-features { margin: 20px 0; text-align: left; }
.vip-features li {
    padding: 8px 0; font-size: 13px; color: var(--text-secondary);
    display: flex; align-items: center; gap: 8px;
    border-bottom: 1px solid var(--border-light);
}
.vip-features li:last-child { border-bottom: none; }
.vip-features li .fa-check { color: #10b981; font-size: 12px; }
.vip-features li.disabled { color: var(--text-muted); }
.vip-features li.disabled .fa-xmark { color: #e5e7eb; font-size: 12px; }
.btn-vip {
    display: block; padding: 11px 0; border-radius: var(--radius-sm);
    font-size: 14px; font-weight: 600; transition: var(--transition);
    border: 2px solid var(--border); color: var(--text-secondary);
    background: #fff;
}
.btn-vip:hover { border-color: var(--primary); color: var(--primary); background: var(--primary-lighter); }
.btn-vip-primary { background: var(--primary); color: #fff !important; border-color: var(--primary); }
.btn-vip-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-vip-gold {
    background: linear-gradient(135deg, var(--gold), #d97706);
    color: #fff !important; border-color: var(--gold);
}
.btn-vip-gold:hover { background: linear-gradient(135deg, #d97706, #b45309); border-color: #d97706; }

/* ---------- 友情链接 ---------- */
.friend-links { display: flex; flex-wrap: wrap; gap: 10px; }
.friend-link {
    padding: 8px 18px; background: #fff;
    border: 1px solid var(--border); border-radius: var(--radius-sm);
    font-size: 13px; color: var(--text-secondary); transition: var(--transition);
}
.friend-link:hover { color: var(--primary); border-color: var(--primary); background: var(--primary-lighter); }

/* ---------- 底部 ---------- */
.footer { background: #0a1628; color: rgba(255,255,255,0.7); }
.footer-main {
    display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.3fr;
    gap: 36px; padding: 50px 0 40px;
}
.footer-logo {
    display: flex; align-items: center; gap: 10px;
    font-size: 22px; font-weight: 800; color: #fff; margin-bottom: 14px;
}
.footer-logo .fa-cube {
    width: 38px; height: 38px; background: var(--primary);
    border-radius: var(--radius-sm); display: flex;
    align-items: center; justify-content: center; font-size: 18px;
}
.footer-desc { font-size: 13px; line-height: 1.8; margin-bottom: 20px; color: rgba(255,255,255,0.55); }
.footer-social { display: flex; gap: 10px; }
.social-icon {
    width: 34px; height: 34px; border-radius: 50%;
    background: rgba(255,255,255,0.08); display: flex;
    align-items: center; justify-content: center; font-size: 16px;
    transition: var(--transition); color: rgba(255,255,255,0.6);
}
.social-icon:hover { background: var(--primary); color: #fff; }
.footer-title { color: #fff; font-size: 15px; font-weight: 600; margin-bottom: 16px; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,0.55); transition: var(--transition); }
.footer-links a:hover { color: #fff; padding-left: 4px; }
.contact-item {
    display: flex; align-items: center; gap: 10px;
    margin-bottom: 12px; font-size: 13px; color: rgba(255,255,255,0.55);
}
.contact-item i { color: var(--primary); width: 16px; text-align: center; }
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 18px 0; text-align: center; font-size: 12px;
    color: rgba(255,255,255,0.4);
}
.footer-bottom a { color: rgba(255,255,255,0.4); }
.footer-bottom a:hover { color: rgba(255,255,255,0.7); }

/* ---------- 视频弹窗 ---------- */
.modal-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.8);
    z-index: 2000; display: none; align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
}
.modal-overlay.active { display: flex; }
.modal-content { width: 90%; max-width: 800px; background: #111; border-radius: var(--radius-lg); overflow: hidden; position: relative; }
.modal-close {
    position: absolute; top: 12px; right: 16px;
    width: 34px; height: 34px; background: rgba(255,255,255,0.2);
    color: #fff; border-radius: 50%; display: flex;
    align-items: center; justify-content: center; font-size: 16px;
    z-index: 10; transition: var(--transition);
}
.modal-close:hover { background: rgba(255,255,255,0.35); }
.video-container { aspect-ratio: 16 / 9; background: #000; }
.video-container video { width: 100%; height: 100%; display: block; }
.modal-title { padding: 14px 20px; color: #fff; font-size: 15px; font-weight: 500; }

/* ---------- 底部音频播放条 ---------- */
.audio-player-bar {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: #fff; border-top: 1px solid var(--border);
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
    z-index: 1500; display: none; padding: 8px 0;
}
.audio-player-bar.active { display: block; }
.audio-player-inner { display: flex; align-items: center; gap: 16px; height: 56px; }
.audio-player-info { display: flex; align-items: center; gap: 12px; width: 220px; flex-shrink: 0; }
.audio-player-icon {
    width: 40px; height: 40px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff; border-radius: var(--radius-sm);
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; flex-shrink: 0;
}
.audio-player-meta { min-width: 0; }
.audio-player-title {
    font-size: 13px; font-weight: 600; color: var(--text);
    display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.audio-player-artist { font-size: 11px; color: var(--text-muted); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.audio-player-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.audio-ctrl-btn {
    width: 32px; height: 32px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; color: var(--text-secondary); transition: var(--transition);
}
.audio-ctrl-btn:hover { color: var(--primary); background: var(--primary-lighter); }
.audio-play-btn { width: 38px; height: 38px; background: var(--primary); color: #fff; font-size: 14px; }
.audio-play-btn:hover { background: var(--primary-dark); color: #fff; }
.audio-player-progress { flex: 1; display: flex; align-items: center; gap: 10px; }
.audio-time { font-size: 11px; color: var(--text-muted); font-variant-numeric: tabular-nums; width: 38px; text-align: center; flex-shrink: 0; }
.audio-progress-bar { flex: 1; height: 4px; background: var(--bg-lighter); border-radius: 2px; cursor: pointer; position: relative; }
.audio-progress-fill { height: 100%; background: var(--primary); border-radius: 2px; width: 0%; transition: width 0.1s linear; position: relative; }
.audio-progress-fill::after {
    content: ''; position: absolute; right: -5px; top: -3px;
    width: 10px; height: 10px; background: var(--primary);
    border-radius: 50%; opacity: 0; transition: var(--transition);
}
.audio-progress-bar:hover .audio-progress-fill::after { opacity: 1; }
.audio-player-volume { display: flex; align-items: center; gap: 8px; flex-shrink: 0; color: var(--text-muted); font-size: 14px; }
.audio-volume-bar { width: 80px; height: 3px; background: var(--bg-lighter); border-radius: 2px; cursor: pointer; }
.audio-volume-fill { height: 100%; background: var(--text-secondary); border-radius: 2px; width: 70%; }

/* ---------- 登录/注册弹窗 ---------- */
.auth-modal {
    background: #fff;
    border-radius: var(--radius-xl);
    width: 420px;
    max-width: 95vw;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    animation: authSlideIn 0.3s ease;
}
@keyframes authSlideIn {
    from { opacity: 0; transform: translateY(-20px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.auth-modal .modal-close {
    position: absolute; top: 14px; right: 16px;
    width: 34px; height: 34px; background: var(--bg-light);
    color: var(--text-muted); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 15px; z-index: 10; transition: var(--transition);
}
.auth-modal .modal-close:hover { background: var(--border); color: var(--text); }
.auth-modal-inner { padding: 40px 36px 32px; }
.auth-modal-header { text-align: center; margin-bottom: 28px; }
.auth-modal-header h3 { font-size: 22px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
.auth-modal-header p { font-size: 13px; color: var(--text-muted); }

.auth-form .form-group { margin-bottom: 18px; }
.auth-form label {
    display: block; font-size: 13px; font-weight: 600;
    color: var(--text-secondary); margin-bottom: 6px;
}
.form-input-wrap {
    display: flex; align-items: center;
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm); padding: 0 14px;
    transition: var(--transition); background: var(--bg);
}
.form-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(26,110,240,0.08);
}
.form-input-wrap i { color: var(--text-muted); font-size: 14px; margin-right: 10px; flex-shrink: 0; }
.form-input-wrap input,
.form-control-input {
    flex: 1; height: 44px; font-size: 14px; color: var(--text); background: transparent;
}
.form-input-wrap input::placeholder,
.form-control-input::placeholder { color: #bfc5d0; }
.login-code-wrap { overflow: hidden; }
.login-code-img { flex-shrink: 0; margin-left: 8px; border-radius: 4px; overflow: hidden; line-height: 0; }
.login-code-img img { display: block; }

.sms-code-wrap .form-control-input { flex: 1; }
.sms-btn {
    flex-shrink: 0; height: 44px; padding: 0 14px;
    background: var(--primary); color: #fff; border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    font-size: 13px; font-weight: 500; white-space: nowrap; margin: -1px -1px -1px 8px;
    transition: var(--transition);
}
.sms-btn:hover { background: var(--primary-dark); }

.form-extra {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 22px; font-size: 13px;
}
.remember-me { display: flex; align-items: center; gap: 6px; cursor: pointer; color: var(--text-secondary); }
.remember-me input { accent-color: var(--primary); }
.forgot-pwd { color: var(--primary); font-weight: 500; }
.forgot-pwd:hover { text-decoration: underline; }

.auth-submit-btn {
    width: 100%; height: 46px; background: var(--primary);
    color: #fff; border-radius: var(--radius-sm);
    font-size: 15px; font-weight: 600; transition: var(--transition);
    cursor: pointer;
}
.auth-submit-btn:hover { background: var(--primary-dark); }

.auth-switch {
    margin-top: 22px; text-align: center; font-size: 13px; color: var(--text-muted);
}
.auth-switch a { color: var(--primary); font-weight: 600; }
.auth-switch a:hover { text-decoration: underline; }

/* ---------- VIP升级弹窗 ---------- */
.vip-modal {
    width: 760px;
    max-width: 94vw;
    max-height: 92vh;
    background: #fff;
    border-radius: 24px;
    position: relative;
    overflow-y: auto;
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
    animation: authSlideIn .3s ease;
}
.vip-modal::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 150px;
    background: linear-gradient(135deg, #f59e0b, #fbbf24 45%, #fde68a);
}
.vip-modal .modal-close {
    background: rgba(255,255,255,.86);
    color: #92400e;
}
.vip-modal-inner {
    position: relative;
    padding: 34px 32px 28px;
    text-align: center;
}
.vip-modal-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 14px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fff7ed, #fff);
    color: #f59e0b;
    font-size: 32px;
    box-shadow: 0 12px 30px rgba(146,64,14,.18);
}
.vip-modal-title {
    font-size: 26px;
    font-weight: 800;
    color: #1f2937;
    margin-bottom: 8px;
}
.vip-modal-desc {
    color: #6b7280;
    font-size: 14px;
    margin-bottom: 22px;
}
.vip-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}
.vip-plan-card {
    position: relative;
    padding: 18px 14px 16px;
    border: 1px solid #fde68a;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fffbeb 100%);
    text-align: left;
    transition: .2s;
}
.vip-plan-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(245,158,11,.16);
}
.vip-plan-card.hot {
    border-color: #f59e0b;
    box-shadow: 0 0 0 2px rgba(245,158,11,.12);
}
.vip-plan-tag {
    position: absolute;
    top: -10px;
    right: 12px;
    padding: 3px 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef4444, #f97316);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}
.vip-plan-name {
    color: #92400e;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 7px;
}
.vip-plan-desc {
    min-height: 40px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 12px;
}
.vip-plan-features {
    min-height: 54px;
    margin-bottom: 14px;
}
.vip-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: #78350f;
    font-size: 12px;
    line-height: 1.6;
}
.vip-plan-features i {
    color: #f59e0b;
    margin-top: 3px;
}
.vip-plan-btn {
    width: 100%;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #f59e0b, #f97316);
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(249,115,22,.24);
    transition: .2s;
}
.vip-plan-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(249,115,22,.32);
}
@media (max-width: 900px) {
    .vip-plan-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .vip-modal-inner { padding: 32px 18px 24px; }
    .vip-plan-grid { grid-template-columns: 1fr; }
}

/* ---------- 返回顶部 ---------- */
.back-to-top {
    position: fixed; bottom: 80px; right: 24px; z-index: 1400;
    width: 42px; height: 42px; background: var(--primary);
    color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; box-shadow: 0 4px 16px rgba(26,110,240,0.35);
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: all 0.3s ease; cursor: pointer;
}
.back-to-top.show {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.back-to-top:hover { background: var(--primary-dark); transform: translateY(-3px); }

/* ---------- 电影卡片 ---------- */
.movie-card .card-thumb { aspect-ratio: 3 / 4; }
.movie-card .movie-rating {
    position: absolute; top: 8px; right: 8px; z-index: 2;
    background: linear-gradient(135deg, var(--gold), #d97706);
    color: #fff; padding: 3px 10px; border-radius: 12px;
    font-size: 13px; font-weight: 700; letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.movie-card .card-title {
    font-size: 15px; font-weight: 600;
    display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
}
.movie-card .card-meta {
    flex-wrap: wrap; gap: 8px;
}

/* ---------- 教程卡片 ---------- */
.tutorial-badge {
    position: absolute; top: 8px; left: 8px; z-index: 2;
    padding: 3px 10px; border-radius: 4px;
    font-size: 12px; font-weight: 600; color: #fff;
    display: inline-flex; align-items: center; gap: 4px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.tutorial-text { background: linear-gradient(135deg, #10b981, #059669); }
.tutorial-video { background: linear-gradient(135deg, #7c3aed, #6d28d9); }
.tutorial-card .card-meta { justify-content: space-between; }

/* 配音页样式已迁移至 tts.css */

/* ---------- 响应式 ---------- */
@media (max-width: 1200px) {
    .grid-5 { grid-template-columns: repeat(4, 1fr); }
    .grid-5 .card:nth-child(5) { display: none; }
    .vip-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-main { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 992px) {
    .header-main .container { gap: 12px; }
    .nav-toggle { display: flex; }
    .nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; background: #fff; border-top: 1px solid var(--border); box-shadow: 0 8px 24px rgba(0,0,0,0.1); padding: 8px 0; z-index: 999; display: none !important; }
    .nav.active { display: flex !important; }
    .nav .nav-item { border-radius: 0; padding: 12px 24px; border-bottom: 1px solid var(--border-light); }
    .nav .nav-vip-btn { margin: 8px 16px; border-radius: 14px; justify-content: center; border-bottom: none; }
    .nav .nav-item:last-child { border-bottom: none; }
    .search-trigger { width: 32px; height: 32px; font-size: 16px; }
    .grid-4, .grid-5 { grid-template-columns: repeat(3, 1fr); }
    .grid-5 .card:nth-child(5) { display: block; }
    .audio-list { grid-template-columns: 1fr; }
    .slide-content { padding: 40px 48px; }
    .slide-title { font-size: 28px; }
    .footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .container { padding: 0 12px; }
    .header-main .container { gap: 12px; }
    .logo { display: none; }
    .logo-mobile { display: flex; margin-right: auto; }
    .search-trigger { width: 32px; height: 32px; font-size: 16px; margin-left: 0; }
    .card-grid { gap: 10px; }
    .card-body { padding: 10px 10px; }
    .grid-4, .grid-5 { grid-template-columns: repeat(2, 1fr); }
    .section-vip { overflow: hidden; }
    .vip-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; width: 100%; }
    .vip-card { width: 100%; min-width: 0; padding: 22px 16px; }
    .vip-card.recommended,
    .vip-card.recommended:hover,
    .vip-card:hover { transform: none; }
    .vip-badge { max-width: calc(100% - 32px); overflow: hidden; text-overflow: ellipsis; }
    .price-num { font-size: 34px; }
    .vip-features li { align-items: flex-start; line-height: 1.5; word-break: break-word; }
    .slide-content { padding: 32px 28px; }
    .slide-title { font-size: 24px; }
    .slider-wrapper { min-height: 0; }
    .slide { min-height: 0; }
    .slider-arrow { display: none; }
    .footer-main { display: none; }
    .footer-bottom { border-top: none; }
    .card-meta .card-category { display: none; }
    .movie-card .card-meta .card-category { display: inline-block; }
    .movie-card .movie-rating { top: 5px; right: 5px; padding: 2px 8px; font-size: 11px; }
    .movie-card .card-title { font-size: 13px; }
    .tutorial-badge { top: 4px; left: 4px; padding: 2px 7px; font-size: 10px; }
    .movie-info-bar { flex-direction: column; align-items: center; }
    .movie-poster { width: 180px; }
    .movie-meta-list { grid-template-columns: 1fr 1fr; width: 100%; }
    .movie-tips { padding: 12px 14px; font-size: 12px; }
    .btn-register { display: none; }
    .user-name { display: none; }
    .audio-player-progress, .audio-player-volume { display: none; }
}

/* ---------- 网址导航页 ---------- */
.nav-page{background:#f7f9fc;min-height:70vh}.nav-hero{position:relative;overflow:hidden;padding:70px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 52%,#7c3aed 100%);color:#fff}.nav-hero:before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.12)}.nav-hero:after{content:"";position:absolute;left:8%;bottom:-140px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}.nav-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.nav-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:800}.nav-hero h1{margin:18px 0 12px;font-size:44px;line-height:1.15;letter-spacing:-1px}.nav-hero p{margin:0;max-width:620px;color:rgba(255,255,255,.78);line-height:1.9;font-size:16px}.nav-search{margin-top:28px;display:flex;gap:10px;max-width:580px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.18)}.nav-search input{flex:1;height:46px;padding:0 14px;color:#344054;font-size:15px}.nav-search button{height:46px;padding:0 20px;border-radius:14px;background:#111827;color:#fff;font-weight:800}.nav-hero-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.nav-hero-card{padding:20px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}.nav-hero-card i{font-size:22px;margin-bottom:14px;color:#fff}.nav-hero-card strong{display:block;font-size:22px;line-height:1}.nav-hero-card span{display:block;margin-top:8px;color:rgba(255,255,255,.76);font-size:13px}.nav-main{padding:38px 0 58px}.nav-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}.nav-sidebar{position:sticky;top:88px;background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(16,24,40,.06)}.nav-sidebar-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#101828;font-size:17px;font-weight:900}.nav-menu{display:grid;gap:8px}.nav-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-radius:14px;color:#475467;font-weight:700;transition:.22s}.nav-menu a:hover{background:#eef4ff;color:#1a6ef0}.nav-content{display:grid;gap:24px;min-width:0}.nav-block{background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(16,24,40,.06);scroll-margin-top:96px}.nav-block-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.nav-block-title{display:flex;align-items:center;gap:10px;margin:0;color:#101828;font-size:22px}.nav-block-title i{width:38px;height:38px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#1a6ef0;font-size:16px}.nav-block-more{color:#1a6ef0;font-size:13px;font-weight:800}.nav-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.site-card{display:block;min-width:0;padding:15px;border-radius:18px;background:#fbfcff;border:1px solid #edf0f5;transition:.22s}.site-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 16px 34px rgba(16,24,40,.08);border-color:#d9e7ff}.site-card-main{display:flex;align-items:center;gap:12px;min-width:0}.site-logo{width:42px;height:42px;border-radius:14px;object-fit:cover;background:#eef4ff;flex-shrink:0}.site-info{min-width:0;flex:1}.site-title{display:block;color:#101828;font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-url{display:block;margin-top:3px;color:#98a2b3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-desc{margin:12px 0 0;color:#667085;font-size:13px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.site-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#98a2b3;font-size:12px}.site-open{display:inline-flex;align-items:center;gap:5px;color:#1a6ef0;font-weight:800}.nav-empty{padding:26px;text-align:center;border-radius:18px;background:#fbfcff;border:1px dashed #d0d5dd;color:#98a2b3}@media(max-width:1300px){.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:992px){.nav-hero-inner{grid-template-columns:1fr}.nav-hero-cards{max-width:620px}.nav-layout{grid-template-columns:1fr}.nav-sidebar{position:relative;top:auto}.nav-menu{grid-template-columns:repeat(3,1fr)}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.nav-hero{padding:46px 0}.nav-hero h1{font-size:32px}.nav-search{flex-direction:column}.nav-search button{width:100%}.nav-hero-cards{grid-template-columns:1fr}.nav-main{padding:26px 0 42px}.nav-sidebar{padding:12px;border-radius:18px}.nav-menu{grid-template-columns:repeat(2,1fr);gap:6px}.nav-menu a{padding:10px 11px;font-size:13px}.nav-block{padding:16px;border-radius:20px}.nav-block-head{align-items:flex-start;flex-direction:column}.nav-list{grid-template-columns:1fr;gap:10px}.site-card{padding:13px}.site-desc{min-height:auto}}

/* ---------- 网址导航详情页 ---------- */
.nav-show-page{background:#f7f9fc;min-height:70vh}.nav-show-hero{position:relative;overflow:hidden;padding:58px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 58%,#7c3aed 100%);color:#fff}.nav-show-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.nav-show-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.nav-show-hero-inner{position:relative;z-index:2}.nav-show-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,.72);font-size:13px;margin-bottom:22px}.nav-show-breadcrumb a:hover{color:#fff}.nav-show-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px;border-radius:28px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}.nav-show-logo{width:96px;height:96px;border-radius:24px;object-fit:cover;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.18)}.nav-show-title{margin:0 0 10px;font-size:34px;line-height:1.18;letter-spacing:-1px}.nav-show-desc{margin:0;color:rgba(255,255,255,.78);line-height:1.8}.nav-show-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.nav-show-tags span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);font-size:13px;color:rgba(255,255,255,.86)}.nav-show-visit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px;height:48px;padding:0 20px;border-radius:15px;background:#fff;color:#1557b0;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.18);transition:.22s}.nav-show-visit:hover{transform:translateY(-2px);color:#0f63e8}.nav-show-main{padding:36px 0 58px;overflow:hidden}.nav-show-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}.nav-show-content-wrap,.nav-show-side{min-width:0;max-width:100%}.nav-show-panel{box-sizing:border-box;min-width:0;background:#fff;border:1px solid #edf0f5;border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(16,24,40,.06)}.nav-show-panel h2{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#101828;font-size:22px}.nav-show-panel h2 i{width:38px;height:38px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#1a6ef0;font-size:16px}.nav-show-info{display:grid;gap:14px}.nav-show-info-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf0f5;color:#667085}.nav-show-info-row:last-child{border-bottom:none}.nav-show-info-row strong{color:#101828}.nav-show-link{color:#1a6ef0;font-weight:800;word-break:break-all;text-align:right}.nav-show-info-compact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.nav-show-info-compact span,.nav-show-info-compact a{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:34px;padding:0 11px;border-radius:999px;background:#f8fafc;border:1px solid #edf0f5;color:#667085;font-size:13px;font-weight:800}.nav-show-info-compact a{color:#1a6ef0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-show-info-compact i{flex-shrink:0}.nav-show-content{color:#475467;line-height:1.9;font-size:15px}.nav-show-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.nav-show-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:14px;font-weight:800}.nav-show-btn.primary{background:#1a6ef0;color:#fff}.nav-show-btn.ghost{background:#eef4ff;color:#1a6ef0}.nav-show-side{position:sticky;top:88px;display:grid;gap:18px}.nav-related-list{display:grid;gap:10px;min-width:0;max-width:100%;overflow:hidden}.nav-related-item{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box;padding:12px;border-radius:16px;background:#fbfcff;border:1px solid #edf0f5;transition:.22s}.nav-related-item:hover{background:#fff;border-color:#d9e7ff;box-shadow:0 12px 28px rgba(16,24,40,.07)}.nav-related-item img{width:42px;height:42px;border-radius:13px;object-fit:cover;background:#eef4ff;flex-shrink:0}.nav-related-item span{min-width:0;flex:1}.nav-related-item strong{display:block;color:#101828;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-related-item em{display:block;margin-top:2px;color:#98a2b3;font-size:12px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-show-empty{padding:18px;text-align:center;color:#98a2b3;background:#fbfcff;border:1px dashed #d0d5dd;border-radius:16px}@media(max-width:992px){.nav-show-card{grid-template-columns:76px minmax(0,1fr);gap:16px}.nav-show-logo{width:76px;height:76px;border-radius:20px}.nav-show-visit{grid-column:1/-1}.nav-show-layout{grid-template-columns:1fr}.nav-show-side{position:relative;top:auto}.nav-show-title{font-size:28px}}@media(max-width:768px){.nav-show-hero{padding:42px 0}.nav-show-card{grid-template-columns:1fr;text-align:center}.nav-show-logo{margin:0 auto}.nav-show-tags{justify-content:center}.nav-show-title{font-size:26px}.nav-show-panel{padding:18px;border-radius:20px}.nav-show-info-row{align-items:flex-start;flex-direction:column;gap:6px}.nav-show-link{text-align:left}.nav-show-actions{grid-template-columns:1fr}.nav-show-main{padding:26px 0 42px}}

/* ---------- 教程详情页专属补充样式 ---------- */
.jc-show-page .article-status { color: #2563eb; font-weight: 700; }
.jc-course-card { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; margin: 24px 0; padding: 22px; border: 1px solid rgba(226, 232, 240, .95); border-radius: 20px; background: linear-gradient(135deg, #f8fbff, #ffffff); box-shadow: 0 14px 34px rgba(15, 23, 42, .06); }
.jc-course-thumb { overflow: hidden; border-radius: 16px; background: #f1f5f9; }
.jc-course-thumb img { display: block; width: 100%; height: 180px; object-fit: cover; transition: transform .3s ease; }
.jc-course-card:hover .jc-course-thumb img { transform: scale(1.05); }
.jc-course-info { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.jc-course-badge { display: inline-flex; align-items: center; gap: 8px; width: fit-content; margin-bottom: 12px; padding: 7px 12px; border-radius: 999px; color: #2563eb; background: #eff6ff; font-size: 13px; font-weight: 800; }
.jc-course-desc { margin: 0 0 16px; color: #475569; font-size: 15px; line-height: 1.8; }
.jc-course-desc span { color: #0f172a; font-weight: 800; }
.jc-course-action { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.jc-course-action .download-tip { width: 100%; margin: 0; color: #64748b; }
.jc-course-catalog { margin: 24px 0; }
.jc-course-catalog .section-heading, .jc-show-page .article-content .section-heading { margin-bottom: 16px; }
.jc-lesson-list { display: grid; gap: 12px; }
.jc-lesson-item { display: grid; grid-template-columns: 42px 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; color: #0f172a; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.jc-lesson-item:hover { transform: translateY(-2px); border-color: rgba(37, 99, 235, .35); box-shadow: 0 12px 26px rgba(37, 99, 235, .1); }
.jc-lesson-index { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 14px; color: #2563eb; background: #eff6ff; font-size: 13px; font-weight: 900; }
.jc-lesson-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #2563eb, #06b6d4); }
.jc-lesson-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.jc-lesson-action { color: #2563eb; font-size: 13px; font-weight: 800; }
.jc-video-player-wrap { overflow: hidden; margin: 24px 0; border-radius: 18px; background: #0f172a; box-shadow: 0 18px 42px rgba(15, 23, 42, .16); }
.jc-video-player-wrap #mse { width: 100%; min-height: 450px; }
.jc-show-page .article-actions .action-btn i { font-size: 15px; }
.jc-tags-actions-row .article-tags { flex: 1; min-width: 0; }
.jc-tags-actions-row .article-actions { margin: 0 0 0 auto; padding-bottom: 0; border-bottom: 0; flex-shrink: 0; }
@media (max-width: 768px) {
    .jc-tags-actions-row { align-items: flex-start; flex-direction: column; }
    .jc-tags-actions-row .article-actions { margin-left: 0; }
}
.jc-table-wrap { width: 100%; overflow-x: auto; margin: 16px 0; }
.jc-table-wrap table { min-width: 640px; }
@media (max-width: 768px) { .jc-course-card { grid-template-columns: 1fr; padding: 16px; } .jc-course-thumb img { height: 210px; } .jc-lesson-item { grid-template-columns: 38px minmax(0, 1fr); } .jc-lesson-index { display: none; } .jc-lesson-action { grid-column: 2; } .jc-video-player-wrap #mse { min-height: 260px; } }

/* ---------- 单页内容页 ---------- */
.single-page{background:#f7f9fc;min-height:70vh}.single-hero{position:relative;overflow:hidden;padding:64px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 58%,#7c3aed 100%);color:#fff}.single-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.12)}.single-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.single-hero-inner{position:relative;z-index:2}.single-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,.72);font-size:13px;margin-bottom:18px}.single-breadcrumb a:hover{color:#fff}.single-hero h1{margin:0 0 14px;font-size:42px;line-height:1.18;letter-spacing:-1px}.single-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.78);line-height:1.9;font-size:16px}.single-main{padding:38px 0 58px}.single-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.single-side{position:sticky;top:88px;background:#fff;border:1px solid #edf0f5;border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(16,24,40,.06)}.single-side-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#101828;font-size:17px;font-weight:900}.single-menu{display:grid;gap:8px}.single-menu a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-radius:14px;color:#475467;font-weight:700;transition:.22s}.single-menu a:hover,.single-menu a.active{background:#eef4ff;color:#1a6ef0}.single-article{min-width:0;background:#fff;border:1px solid #edf0f5;border-radius:26px;box-shadow:0 14px 34px rgba(16,24,40,.06);overflow:hidden}.single-article-head{padding:28px 32px;border-bottom:1px solid #edf0f5;background:linear-gradient(180deg,#fff,#fbfcff)}.single-article-head h2{margin:0;color:#101828;font-size:28px;line-height:1.3}.single-article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;color:#98a2b3;font-size:13px}.single-article-meta span{display:inline-flex;align-items:center;gap:6px}.single-page .single-content{padding:32px;color:#475467;font-size:16px;line-height:1.95}.single-page .single-content h1,.single-page .single-content h2,.single-page .single-content h3,.single-page .single-content h4{color:#101828;line-height:1.35;margin:26px 0 14px}.single-page .single-content p{margin:0 0 16px}.single-page .single-content img{max-width:100%;height:auto;border-radius:16px;margin:14px auto}.single-page .single-content a{color:#1a6ef0;font-weight:700}.single-page .single-content table{width:100%;border-collapse:collapse;margin:16px 0;overflow:hidden;border-radius:12px}.single-page .single-content th,.single-page .single-content td{border:1px solid #edf0f5;padding:12px;text-align:left}.single-page .single-content th{background:#f8fafc;color:#101828}.single-page .single-content blockquote{margin:18px 0;padding:16px 18px;border-left:4px solid #1a6ef0;background:#f5f9ff;border-radius:12px;color:#344054}.single-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 32px;border-top:1px solid #edf0f5;background:#fbfcff}.single-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:13px;font-weight:800}.single-btn.primary{background:#1a6ef0;color:#fff}.single-btn.ghost{background:#eef4ff;color:#1a6ef0}@media(max-width:992px){.single-layout{grid-template-columns:1fr}.single-side{position:relative;top:auto}.single-menu{grid-template-columns:repeat(3,1fr)}.single-hero h1{font-size:34px}}@media(max-width:768px){.single-hero{padding:44px 0}.single-hero h1{font-size:28px}.single-main{padding:26px 0 42px}.single-side{padding:12px;border-radius:18px}.single-menu{grid-template-columns:repeat(2,1fr);gap:6px}.single-menu a{padding:10px 11px;font-size:13px}.single-article{border-radius:20px}.single-article-head{padding:22px 18px}.single-article-head h2{font-size:24px}.single-page .single-content{padding:22px 18px;font-size:15px}.single-actions{padding:18px;flex-direction:column}.single-btn{width:100%}}

/* ---------- VIP介绍单页 ---------- */
.vip-page{background:#f7f9fc;min-height:70vh}.vip-page-hero{position:relative;overflow:hidden;padding:78px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%);color:#fff}.vip-page-hero:before{content:"";position:absolute;right:-130px;top:-160px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.12)}.vip-page-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}.vip-page-hero-inner{position:relative;z-index:2;text-align:center}.vip-page-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.vip-page-hero h1{max-width:860px;margin:22px auto 14px;font-size:48px;line-height:1.15;letter-spacing:-1px}.vip-page-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.vip-page-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.vip-page-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:15px;font-weight:900;transition:.22s}.vip-page-btn.primary{background:#fff;color:#1557b0;box-shadow:0 18px 42px rgba(0,0,0,.18)}.vip-page-btn.ghost{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.2)}.vip-page-btn:hover{transform:translateY(-2px)}.vip-page-main{padding:46px 24px 58px}.vip-page-heading{text-align:center;margin-bottom:28px}.vip-page-heading span{display:inline-flex;margin-bottom:8px;color:#1a6ef0;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.vip-page-heading h2{margin:0;color:#101828;font-size:32px;line-height:1.25}.vip-page-heading p{margin:10px auto 0;max-width:620px;color:#667085;line-height:1.8}.vip-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.vip-page-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:24px;border-radius:24px;background:#fff;border:1px solid #edf0f5;box-shadow:0 14px 34px rgba(16,24,40,.06);transition:.22s}.vip-page-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(16,24,40,.1);border-color:#d9e7ff}.vip-page-card.is-recommend{border-color:#1a6ef0;box-shadow:0 18px 42px rgba(26,110,240,.13)}.vip-page-card.is-lifetime{background:linear-gradient(180deg,#fffaf0 0%,#fff 34%);border-color:#f59e0b}.vip-page-tag{position:absolute;right:18px;top:18px;padding:5px 10px;border-radius:999px;background:#1a6ef0;color:#fff;font-size:12px;font-weight:900}.vip-page-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:17px;background:#eef4ff;color:#1a6ef0;font-size:22px}.vip-page-card.is-lifetime .vip-page-icon{background:#fffbeb;color:#f59e0b}.vip-page-card h3{margin:18px 0 8px;color:#101828;font-size:22px}.vip-page-card-top p{margin:0;color:#667085;font-size:14px;line-height:1.7}.vip-page-price{display:flex;align-items:flex-end;gap:8px;margin:22px 0;color:#101828}.vip-page-price strong{font-size:44px;line-height:.9;color:#1a6ef0}.vip-page-card.is-lifetime .vip-page-price strong{color:#f59e0b}.vip-page-price span{color:#667085;font-weight:700}.vip-page-features{display:grid;gap:12px;margin:0 0 24px;padding:0;list-style:none}.vip-page-features li{display:flex;align-items:flex-start;gap:9px;color:#475467;font-size:14px;line-height:1.6}.vip-page-features i{margin-top:4px;color:#10b981}.vip-page-upgrade{display:flex;align-items:center;justify-content:center;height:44px;margin-top:auto;border-radius:14px;background:#1a6ef0;color:#fff;font-weight:900;transition:.22s}.vip-page-upgrade:hover{background:#1557b0;color:#fff;transform:translateY(-2px)}.vip-page-card.is-lifetime .vip-page-upgrade{background:#f59e0b}.vip-page-card.is-lifetime .vip-page-upgrade:hover{background:#d97706}.vip-page-why{padding:50px 0 64px;background:#fff}.vip-page-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.vip-page-why-item{padding:24px;border-radius:22px;background:#fbfcff;border:1px solid #edf0f5;text-align:center;transition:.22s}.vip-page-why-item:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(16,24,40,.08)}.vip-page-why-item i{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:17px;background:#eef4ff;color:#1a6ef0;font-size:22px}.vip-page-why-item h3{margin:16px 0 8px;color:#101828;font-size:18px}.vip-page-why-item p{margin:0;color:#667085;font-size:14px;line-height:1.7}@media(max-width:1200px){.vip-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vip-page-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.vip-page-hero{padding:54px 0}.vip-page-hero h1{font-size:34px}.vip-page-main{padding:34px 12px 42px}.vip-page-heading h2{font-size:26px}.vip-page-grid,.vip-page-why-grid{grid-template-columns:1fr}.vip-page-card{padding:20px}.vip-page-price strong{font-size:38px}.vip-page-actions{flex-direction:column}.vip-page-btn{width:100%}}

/* ---------- 文案搜索页 ---------- */
.wenan-search-page{background:#f7f9fc;min-height:70vh}.wenan-search-hero{position:relative;overflow:hidden;padding:64px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%);color:#fff}.wenan-search-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.wenan-search-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.wenan-search-hero-inner{position:relative;z-index:2;text-align:center}.wenan-search-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.wenan-search-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.wenan-search-hero p{max-width:700px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.wenan-search-form{display:flex;gap:10px;max-width:680px;margin:28px auto 0;padding:8px;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.18)}.wenan-search-form input{flex:1;height:46px;padding:0 16px;color:#344054;font-size:15px;background:transparent}.wenan-search-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:14px;background:#111827;color:#fff;font-weight:900;transition:.22s}.wenan-search-form button:hover{background:#1a6ef0}.wenan-search-filter-section{padding:0;background:transparent;border-bottom:none;margin-top:-28px;position:relative;z-index:3}.wenan-search-filter-card{padding:22px;border-radius:24px;background:#fff;border:1px solid #edf0f5;box-shadow:0 18px 44px rgba(16,24,40,.08)}.wenan-search-result-info{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #edf0f5}.wenan-search-result-info span{display:block;color:#98a2b3;font-size:12px;font-weight:800}.wenan-search-result-info strong{display:block;margin-top:4px;color:#101828;font-size:22px;line-height:1.3}.wenan-search-result-info em{font-style:normal;color:#1a6ef0;font-weight:900;background:#eef4ff;padding:7px 12px;border-radius:999px;white-space:nowrap}.wenan-search-filter-card .list-filters{gap:14px}.wenan-search-filter-card .filter-item{align-items:flex-start}.wenan-search-filter-card .filter-label{padding-top:5px;font-weight:900;color:#344054}.wenan-search-filter-card .filter-tag{border-radius:999px;padding:6px 14px}.wenan-search-list-section{padding:34px 0 58px}.wenan-search-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.wenan-search-list-head h2{display:flex;align-items:center;gap:9px;margin:0;color:#101828;font-size:24px}.wenan-search-list-head h2 i{color:#1a6ef0}.wenan-search-list-head span{color:#667085;font-size:14px}.wenan-search-card{border-radius:18px}.wenan-search-empty{margin:26px auto 0;max-width:560px;padding:38px 24px;border-radius:24px;background:#fff;border:1px dashed #d0d5dd;text-align:center;color:#667085}.wenan-search-empty>i{font-size:42px;color:#98a2b3}.wenan-search-empty h3{margin:14px 0 8px;color:#101828;font-size:22px}.wenan-search-empty p{margin:0 0 18px}.wenan-search-empty-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:13px;background:#1a6ef0;color:#fff;font-weight:900}.wenan-search-empty-btn:hover{background:#1557b0;color:#fff}@media(max-width:768px){.wenan-search-hero{padding:44px 0 58px}.wenan-search-hero h1{font-size:30px}.wenan-search-form{flex-direction:column}.wenan-search-form button{width:100%}.wenan-search-filter-section{margin-top:-18px}.wenan-search-filter-card{padding:16px;border-radius:20px}.wenan-search-result-info{align-items:flex-start;flex-direction:column}.wenan-search-filter-card .filter-item{flex-direction:column}.wenan-search-list-head{align-items:flex-start;flex-direction:column}.wenan-search-list-head h2{font-size:21px}}

/* ---------- 模块搜索页：教程/电影/导航 ---------- */
.module-search-page{background:#f7f9fc;min-height:70vh}.module-search-hero{position:relative;overflow:hidden;padding:64px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%);color:#fff}.movie-search-hero{background:linear-gradient(135deg,#111827 0%,#7c2d12 52%,#dc2626 100%)}.course-search-hero{background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%)}.nav-search-hero{background:linear-gradient(135deg,#111827 0%,#0f766e 52%,#1557b0 100%)}.module-search-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.module-search-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.module-search-hero-inner{position:relative;z-index:2;text-align:center}.module-search-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.module-search-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.module-search-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.module-search-form{display:flex;gap:10px;max-width:680px;margin:28px auto 0;padding:8px;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.18)}.module-search-form input{flex:1;height:46px;padding:0 16px;color:#344054;font-size:15px;background:transparent}.module-search-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:14px;background:#111827;color:#fff;font-weight:900;transition:.22s}.module-search-form button:hover{background:#1a6ef0}.movie-search-page .module-search-form button:hover{background:#dc2626}.nav-search-page .module-search-form button:hover{background:#0f766e}.module-search-filter-section{padding:0;background:transparent;margin-top:-28px;position:relative;z-index:3}.module-search-filter-card{padding:22px;border-radius:24px;background:#fff;border:1px solid #edf0f5;box-shadow:0 18px 44px rgba(16,24,40,.08)}.module-search-result-info{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #edf0f5}.module-search-result-info span{display:block;color:#98a2b3;font-size:12px;font-weight:800}.module-search-result-info strong{display:block;margin-top:4px;color:#101828;font-size:22px;line-height:1.3}.module-search-result-info em{font-style:normal;color:#1a6ef0;font-weight:900;background:#eef4ff;padding:7px 12px;border-radius:999px;white-space:nowrap}.movie-search-page .module-search-result-info em{color:#dc2626;background:#fff1f2}.nav-search-page .module-search-result-info em{color:#0f766e;background:#ecfdf5}.module-search-filter-card .list-filters{gap:14px}.module-search-filter-card .filter-item{align-items:flex-start}.module-search-filter-card .filter-label{padding-top:5px;font-weight:900;color:#344054}.module-search-filter-card .filter-tag{border-radius:999px;padding:6px 14px}.module-search-list-section{padding:34px 0 58px}.module-search-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.module-search-list-head h2{display:flex;align-items:center;gap:9px;margin:0;color:#101828;font-size:24px}.module-search-list-head h2 i{color:#1a6ef0}.movie-search-page .module-search-list-head h2 i{color:#dc2626}.nav-search-page .module-search-list-head h2 i{color:#0f766e}.module-search-list-head span{color:#667085;font-size:14px}.module-search-empty{margin:26px auto 0;max-width:560px;padding:38px 24px;border-radius:24px;background:#fff;border:1px dashed #d0d5dd;text-align:center;color:#667085}.module-search-empty>i{font-size:42px;color:#98a2b3}.module-search-empty h3{margin:14px 0 8px;color:#101828;font-size:22px}.module-search-empty p{margin:0 0 18px}.module-search-empty a{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 18px;border-radius:13px;background:#1a6ef0;color:#fff;font-weight:900}.module-search-empty a:hover{background:#1557b0;color:#fff}.module-search-nav-list{margin-top:0}@media(max-width:768px){.module-search-hero{padding:44px 0 58px}.module-search-hero h1{font-size:30px}.module-search-form{flex-direction:column}.module-search-form button{width:100%}.module-search-filter-section{margin-top:-18px}.module-search-filter-card{padding:16px;border-radius:20px}.module-search-result-info{align-items:flex-start;flex-direction:column}.module-search-filter-card .filter-item{flex-direction:column}.module-search-list-head{align-items:flex-start;flex-direction:column}.module-search-list-head h2{font-size:21px}}

/* ---------- 系统提示页 ---------- */
.msg-page{background:#f7f9fc;min-height:70vh}.msg-hero{position:relative;overflow:hidden;padding:58px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 58%,#7c3aed 100%);color:#fff}.msg-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.msg-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.msg-hero-inner{position:relative;z-index:2;text-align:center}.msg-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.msg-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.msg-hero p{max-width:620px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.msg-main{padding:0 24px 58px;margin-top:-36px;position:relative;z-index:3}.msg-card{max-width:720px;margin:0 auto;padding:38px 34px;border-radius:28px;background:#fff;border:1px solid #edf0f5;box-shadow:0 20px 52px rgba(16,24,40,.1);text-align:center}.msg-icon{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:24px;margin-bottom:22px;color:#fff;font-size:32px;background:#1a6ef0;box-shadow:0 16px 34px rgba(26,110,240,.22)}.msg-card.is-success .msg-icon{background:#10b981;box-shadow:0 16px 34px rgba(16,185,129,.22)}.msg-card.is-info .msg-icon{background:#1a6ef0}.msg-card.is-error .msg-icon{background:#ef4444;box-shadow:0 16px 34px rgba(239,68,68,.22)}.msg-content h2{margin:0 0 12px;color:#101828;font-size:28px}.msg-content p{margin:0 auto;max-width:560px;color:#475467;font-size:16px;line-height:1.9;word-break:break-word}.msg-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.msg-jump-tip{width:100%;margin:0 0 4px;color:#98a2b3;font-size:13px}.msg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:14px;font-weight:900;transition:.22s}.msg-btn.primary{background:#1a6ef0;color:#fff}.msg-card.is-success .msg-btn.primary{background:#10b981}.msg-card.is-error .msg-btn.primary{background:#ef4444}.msg-btn.ghost{background:#eef4ff;color:#1a6ef0}.msg-btn:hover{transform:translateY(-2px)}.msg-btn.primary:hover{color:#fff;filter:brightness(.95)}@media(max-width:768px){.msg-hero{padding:44px 0 58px}.msg-hero h1{font-size:32px}.msg-main{padding:0 12px 42px}.msg-card{padding:28px 18px;border-radius:22px}.msg-content h2{font-size:24px}.msg-actions{flex-direction:column}.msg-btn{width:100%}}

/* ---------- 教程列表页左右布局 ---------- */
.course-list-page{background:#f7f9fc;min-height:70vh}.course-list-hero{position:relative;overflow:hidden;padding:58px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%);color:#fff}.course-list-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.course-list-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.course-list-hero-inner{position:relative;z-index:2;text-align:center}.course-list-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.course-list-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.course-list-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.course-list-main{padding:32px 0 58px}.course-list-layout{display:flex;align-items:flex-start;gap:28px}.course-list-content{flex:1;min-width:0}.course-list-sidebar{width:320px;position:static}.course-list-filter-card{padding:22px;border-radius:24px;background:#fff;border:1px solid #edf0f5;box-shadow:0 14px 34px rgba(16,24,40,.06);margin-bottom:24px}.course-list-filter-card .list-filters{gap:14px}.course-list-filter-card .filter-item{align-items:flex-start}.course-list-filter-card .filter-label{padding-top:5px;font-weight:900;color:#344054}.course-list-filter-card .filter-tag{border-radius:999px;padding:6px 14px}.course-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.course-list-head h2{display:flex;align-items:center;gap:9px;margin:0;color:#101828;font-size:24px}.course-list-head h2 i{color:#1a6ef0}.course-list-head span{color:#667085;font-size:14px}.course-list-items{display:grid;gap:16px}.course-list-item{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;padding:18px;border-radius:22px;background:#fff;border:1px solid #edf0f5;box-shadow:0 12px 28px rgba(16,24,40,.05);transition:transform .22s,box-shadow .22s,border-color .22s}.course-list-item:hover{transform:translateY(-3px);border-color:rgba(26,110,240,.24);box-shadow:0 18px 42px rgba(16,24,40,.09)}.course-list-thumb{position:relative;display:block;overflow:hidden;height:150px;border-radius:16px;background:#eef2f7}.course-list-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.course-list-item:hover .course-list-thumb img{transform:scale(1.06)}.course-list-body{display:flex;flex-direction:column;justify-content:center;min-width:0}.course-list-title{margin:0 0 10px;font-size:21px;line-height:1.35}.course-list-title a{color:#101828}.course-list-title a:hover{color:#1a6ef0}.course-list-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 16px;color:#667085;font-size:14px;line-height:1.8}.course-list-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;color:#667085;font-size:13px}.course-list-meta span{display:inline-flex;align-items:center;gap:6px}.course-list-cat{color:#1a6ef0;font-weight:800}.course-list-item .tutorial-badge{left:10px;right:auto;top:10px}.course-color-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.course-color-tags a{display:flex;align-items:center;justify-content:center;min-width:0;height:34px;padding:0 10px;border-radius:12px;font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}.course-color-tags .course-tag-1,.course-color-tags .course-tag-11,.course-color-tags .course-tag-21{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.course-color-tags .course-tag-2,.course-color-tags .course-tag-12,.course-color-tags .course-tag-22{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.course-color-tags .course-tag-3,.course-color-tags .course-tag-13,.course-color-tags .course-tag-23{color:#b45309;background:#fffbeb;border-color:#fde68a}.course-color-tags .course-tag-4,.course-color-tags .course-tag-14,.course-color-tags .course-tag-24{color:#be123c;background:#fff1f2;border-color:#fecdd3}.course-color-tags .course-tag-5,.course-color-tags .course-tag-15,.course-color-tags .course-tag-25{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.course-color-tags .course-tag-6,.course-color-tags .course-tag-16,.course-color-tags .course-tag-26{color:#0e7490;background:#ecfeff;border-color:#a5f3fc}.course-color-tags .course-tag-7,.course-color-tags .course-tag-17,.course-color-tags .course-tag-27{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.course-color-tags .course-tag-8,.course-color-tags .course-tag-18,.course-color-tags .course-tag-28{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}.course-color-tags .course-tag-9,.course-color-tags .course-tag-19,.course-color-tags .course-tag-29{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.course-color-tags .course-tag-10,.course-color-tags .course-tag-20,.course-color-tags .course-tag-30{color:#a21caf;background:#fdf4ff;border-color:#f5d0fe}.course-color-tags a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,24,40,.08)}.course-top-list li.course-top-item{align-items:center}.course-top-list .widget-list-thumb{position:relative;overflow:hidden}.course-top-rank{position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 6px;border-radius:0 0 8px 0;color:#fff;font-size:10px;font-weight:900;letter-spacing:.2px;background:#64748b;z-index:2}.course-top-1 .course-top-rank{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 8px 18px rgba(239,68,68,.22)}.course-top-2 .course-top-rank{background:linear-gradient(135deg,#64748b,#94a3b8);box-shadow:0 8px 18px rgba(100,116,139,.18)}.course-top-3 .course-top-rank{background:linear-gradient(135deg,#b45309,#f97316);box-shadow:0 8px 18px rgba(249,115,22,.2)}.course-top-4 .course-top-rank{background:linear-gradient(135deg,#2563eb,#06b6d4)}.course-top-5 .course-top-rank{background:linear-gradient(135deg,#7c3aed,#d946ef)}.course-top-list .widget-list-title{padding-right:4px}@media(max-width:1024px){.course-list-layout{flex-direction:column}.course-list-sidebar{width:100%;position:static;display:block}}@media(max-width:768px){.course-list-hero{padding:44px 0}.course-list-hero h1{font-size:32px}.course-list-main{padding:24px 0 42px}.course-list-filter-card{padding:16px;border-radius:20px}.course-list-filter-card .filter-item{flex-direction:column}.course-list-head{align-items:flex-start;flex-direction:column}.course-list-item{grid-template-columns:1fr;padding:14px}.course-list-thumb{height:210px}.course-list-title{font-size:19px}.course-list-sidebar{display:none}}

/* ---------- 留言板页面 ---------- */
.guestbook-page{background:#f7f9fc;min-height:70vh}.guestbook-hero{position:relative;overflow:hidden;padding:62px 0;background:linear-gradient(135deg,#111827 0%,#1557b0 56%,#7c3aed 100%);color:#fff}.guestbook-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.guestbook-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.guestbook-hero-inner{position:relative;z-index:2;text-align:center}.guestbook-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.guestbook-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.guestbook-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}.guestbook-main{padding:34px 0 58px}.guestbook-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.guestbook-content{display:grid;gap:22px;min-width:0}.guestbook-card,.guestbook-side-card{background:#fff;border:1px solid #edf0f5;border-radius:24px;box-shadow:0 14px 34px rgba(16,24,40,.06)}.guestbook-card{padding:24px}.guestbook-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #edf0f5}.guestbook-section-head h2{display:flex;align-items:center;gap:10px;margin:0;color:#101828;font-size:22px}.guestbook-section-head h2 i{color:#1a6ef0}.guestbook-section-head span{color:#667085;font-size:13px}.guestbook-form{display:grid;gap:16px}.guestbook-user{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #edf0f5}.guestbook-user img,.guestbook-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#eef4ff;flex-shrink:0}.guestbook-user strong{display:block;color:#101828}.guestbook-user span{display:block;margin-top:3px;color:#98a2b3;font-size:13px}.guestbook-form textarea{width:100%;min-height:150px;padding:16px;border-radius:18px;border:1px solid #d0d5dd;background:#fff;color:#344054;font-size:15px;line-height:1.8;resize:vertical;transition:.22s}.guestbook-form textarea:focus{border-color:#1a6ef0;box-shadow:0 0 0 4px rgba(26,110,240,.08);outline:none}.guestbook-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.guestbook-form-actions p{margin:0;color:#98a2b3;font-size:13px}.guestbook-submit,.guestbook-login-tip a{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:14px;background:#1a6ef0;color:#fff;font-weight:900;transition:.22s}.guestbook-submit:hover,.guestbook-login-tip a:hover{background:#1557b0;color:#fff;transform:translateY(-2px)}.guestbook-login-tip{text-align:center;padding:34px 20px;border-radius:20px;background:#f8fafc;border:1px dashed #d0d5dd}.guestbook-login-tip>i{font-size:36px;color:#1a6ef0}.guestbook-login-tip h3{margin:14px 0 8px;color:#101828;font-size:22px}.guestbook-login-tip p{margin:0 0 18px;color:#667085}.guestbook-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.guestbook-item{display:flex;gap:14px;padding:16px;border-radius:18px;background:#fbfcff;border:1px solid #edf0f5}.guestbook-item-body{flex:1;min-width:0}.guestbook-item-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.guestbook-item-meta strong{color:#101828}.guestbook-item-meta span{color:#98a2b3;font-size:12px}.guestbook-item p{margin:0;color:#475467;line-height:1.8;word-break:break-word}.guestbook-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px}.guestbook-pagination a,.guestbook-pagination span,.guestbook-pagination strong{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;color:#475467;font-size:14px;font-weight:800;transition:.22s}.guestbook-pagination a:hover{background:#eef4ff;border-color:#bfdbfe;color:#1a6ef0;transform:translateY(-2px)}.guestbook-pagination .current,.guestbook-pagination strong,.guestbook-pagination span.current{background:#1a6ef0;border-color:#1a6ef0;color:#fff;box-shadow:0 10px 24px rgba(26,110,240,.22)}.guestbook-pagination .disabled,.guestbook-pagination span.disabled{opacity:.45;cursor:not-allowed}.guestbook-side{display:grid;gap:18px}.guestbook-side-card{padding:20px}.guestbook-side-card h3{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#101828;font-size:18px}.guestbook-side-card h3 i{color:#1a6ef0}.guestbook-side-card ul{display:grid;gap:10px;margin:0;padding-left:18px;color:#475467;line-height:1.8}.guestbook-side-card p{margin:0;color:#475467;line-height:1.8}@media(max-width:992px){.guestbook-layout{grid-template-columns:1fr}.guestbook-side{display:none}}@media(max-width:768px){.guestbook-hero{padding:44px 0}.guestbook-hero h1{font-size:32px}.guestbook-main{padding:24px 0 42px}.guestbook-card{padding:18px;border-radius:20px}.guestbook-section-head{align-items:flex-start;flex-direction:column}.guestbook-form-actions{align-items:flex-start;flex-direction:column}.guestbook-submit{width:100%}.guestbook-item{padding:14px}.guestbook-item-meta{align-items:flex-start;flex-direction:column;gap:4px}}
.guestbook-layout-full{grid-template-columns:1fr}.guestbook-layout-full .guestbook-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guestbook-layout-full .guestbook-content{width:100%}.guestbook-side-inline{grid-template-columns:1fr!important}.guestbook-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#eef4ff;border:1px solid #d9e7ff;color:#344054;font-size:14px;line-height:1.7}.guestbook-notice i{color:#1a6ef0;font-size:16px;flex-shrink:0}.guestbook-notice span{min-width:0}@media(max-width:768px){.guestbook-layout-full .guestbook-side{grid-template-columns:1fr}.guestbook-notice{align-items:flex-start}}

/* ---------- 微信扫码支付页 ---------- */
.wxpay-page{background:#f7f9fc;min-height:70vh}.wxpay-hero{position:relative;overflow:hidden;padding:62px 0;background:linear-gradient(135deg,#06281b 0%,#08a045 52%,#22c55e 100%);color:#fff}.wxpay-hero:before{content:"";position:absolute;right:-120px;top:-150px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12)}.wxpay-hero:after{content:"";position:absolute;left:8%;bottom:-150px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}.wxpay-hero-inner{position:relative;z-index:2;text-align:center}.wxpay-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:900}.wxpay-hero h1{margin:18px 0 12px;font-size:42px;line-height:1.15;letter-spacing:-1px}.wxpay-hero p{max-width:680px;margin:0 auto;color:rgba(255,255,255,.82);font-size:16px;line-height:1.9}.wxpay-main{position:relative;z-index:3;margin-top:-42px;padding:0 0 64px}.wxpay-card{max-width:620px;margin:0 auto;padding:38px 34px;border-radius:28px;background:#fff;border:1px solid #edf0f5;box-shadow:0 22px 58px rgba(16,24,40,.12);text-align:center}.wxpay-status-icon{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;margin-bottom:20px;border-radius:24px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:36px;box-shadow:0 18px 36px rgba(34,197,94,.26)}.wxpay-title span{display:inline-flex;margin-bottom:8px;padding:6px 12px;border-radius:999px;background:#ecfdf5;color:#16a34a;font-size:12px;font-weight:900}.wxpay-title h2{margin:0;color:#101828;font-size:24px;line-height:1.45;word-break:break-word}.wxpay-qrcode{display:flex;align-items:center;justify-content:center;min-height:230px;margin:26px auto 22px;padding:22px;border-radius:24px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px dashed #bbf7d0}.wxpay-qrcode img,.wxpay-qrcode canvas{max-width:230px!important;max-height:230px!important;width:auto!important;height:auto!important;border-radius:12px}.wxpay-qrcode table{margin:auto}.wxpay-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;text-align:center}.wxpay-code{display:flex;align-items:center;justify-content:center;width:100%}.wxpay-amount{margin:0;color:#101828;font-size:17px;font-weight:900}.wxpay-tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.wxpay-tip-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:82px;padding:12px;border-radius:16px;background:#f8fafc;color:#475467;font-size:13px;font-weight:800}.wxpay-tip-item i{color:#16a34a;font-size:20px}.wxpay-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}.wxpay-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:14px;font-weight:900;transition:.22s}.wxpay-btn.primary{background:#16a34a;color:#fff}.wxpay-btn.ghost{background:#ecfdf5;color:#16a34a}.wxpay-btn:hover{transform:translateY(-2px)}.wxpay-btn.primary:hover{background:#15803d;color:#fff}.wxpay-btn.ghost:hover{background:#dcfce7;color:#15803d}@media(max-width:768px){.wxpay-hero{padding:44px 0 58px}.wxpay-hero h1{font-size:32px}.wxpay-main{padding:0 12px 46px}.wxpay-card{padding:28px 18px;border-radius:22px}.wxpay-title h2{font-size:21px}.wxpay-tips{display:none}.wxpay-actions{flex-direction:column}.wxpay-btn{width:100%}}
