/* ============================================================
   暗色模式 - 全局变量覆盖
   ============================================================ */

/* 暗色模式根变量 */
body.dark-mode {
    --bg-primary: #1a1a2e;
    --bg-secondary: #16213e;
    --bg-card: #1e2a45;
    --bg-hover: #253550;
    --text-primary: #e0e0e0;
    --text-secondary: #a0a0b0;
    --text-muted: #707080;
    --border-color: #2a2a4a;
    --accent-color: #e65540;
    --accent-hover: #ff6b5a;
    --shadow-color: rgba(0, 0, 0, 0.3);
}

/* 全局暗色覆盖 */
body.dark-mode {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

body.dark-mode a {
    color: var(--text-primary);
}

body.dark-mode a:hover {
    color: var(--accent-color);
}

/* 顶部栏 */
body.dark-mode .novel-topbar {
    background: #0f0f23 !important;
    border-bottom-color: var(--border-color) !important;
}

/* 头部导航 */
body.dark-mode .header {
    background: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}

body.dark-mode .logo {
    color: var(--accent-color) !important;
}

body.dark-mode .header-nav a {
    color: var(--text-secondary) !important;
}

body.dark-mode .header-nav a:hover {
    color: var(--accent-color) !important;
}

/* 搜索框 */
body.dark-mode .search-box input {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .search-box input:focus {
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 3px rgba(230, 85, 64, 0.2) !important;
}

body.dark-mode .search-box input::placeholder {
    color: var(--text-muted) !important;
}

body.dark-mode .search-suggest {
    background: var(--bg-card) !important;
    box-shadow: 0 4px 20px var(--shadow-color) !important;
}

body.dark-mode .search-suggest-item {
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

body.dark-mode .search-suggest-item:hover {
    background: var(--bg-hover) !important;
}

/* 分类导航 */
body.dark-mode .category-nav {
    background: var(--bg-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}

body.dark-mode .category-item {
    color: var(--text-secondary) !important;
}

body.dark-mode .category-item:hover {
    background: var(--bg-hover) !important;
    color: var(--accent-color) !important;
}

/* 区块 */
body.dark-mode .section-gray {
    background: var(--bg-secondary) !important;
}

body.dark-mode .section-title {
    color: var(--text-primary) !important;
}

body.dark-mode .more-link {
    color: var(--text-muted) !important;
}

body.dark-mode .more-link:hover {
    color: var(--accent-color) !important;
}

/* 小说卡片 */
body.dark-mode .book-card {
    background: var(--bg-card) !important;
}

body.dark-mode .book-card:hover {
    box-shadow: 0 8px 25px var(--shadow-color) !important;
}

body.dark-mode .book-cover {
    background: var(--bg-hover) !important;
}

body.dark-mode .book-title {
    color: var(--text-primary) !important;
}

body.dark-mode .book-author {
    color: var(--text-muted) !important;
}

body.dark-mode .book-intro {
    color: var(--text-secondary) !important;
}

body.dark-mode .book-meta {
    color: var(--text-muted) !important;
}

body.dark-mode .book-word {
    background: var(--bg-hover) !important;
    color: var(--text-secondary) !important;
}

body.dark-mode .book-status {
    background: rgba(230, 85, 64, 0.15) !important;
    color: var(--accent-color) !important;
}

/* 列表模式 */
body.dark-mode .book-list-item {
    background: var(--bg-card) !important;
}

body.dark-mode .book-list-item:hover {
    box-shadow: 0 4px 15px var(--shadow-color) !important;
}

body.dark-mode .book-list-title {
    color: var(--text-primary) !important;
}

body.dark-mode .book-list-author {
    color: var(--text-muted) !important;
}

body.dark-mode .book-list-intro {
    color: var(--text-secondary) !important;
}

body.dark-mode .tag {
    background: var(--bg-hover) !important;
    color: var(--text-secondary) !important;
}

/* 排行榜侧边栏 */
body.dark-mode .rank-sidebar {
    background: var(--bg-card) !important;
}

body.dark-mode .rank-title {
    color: var(--text-primary) !important;
}

body.dark-mode .rank-tab {
    color: var(--text-secondary) !important;
}

body.dark-mode .rank-tab.active {
    background: var(--accent-color) !important;
    color: #fff !important;
}

body.dark-mode .rank-item {
    border-bottom-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
}

body.dark-mode .rank-item:hover {
    color: var(--accent-color) !important;
}

body.dark-mode .rank-num {
    background: var(--bg-hover) !important;
    color: var(--text-secondary) !important;
}

body.dark-mode .rank-count {
    color: var(--text-muted) !important;
}

/* 分页 */
body.dark-mode .pagination a {
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
    background: var(--bg-card) !important;
}

body.dark-mode .pagination a:hover {
    border-color: var(--accent-color) !important;
    color: var(--accent-color) !important;
}

body.dark-mode .pagination a.active {
    background: var(--accent-color) !important;
    color: #fff !important;
    border-color: var(--accent-color) !important;
}

body.dark-mode .pagination .ellipsis {
    color: var(--text-muted) !important;
}

/* 页脚 */
body.dark-mode .footer {
    background: var(--bg-secondary) !important;
    border-top-color: var(--border-color) !important;
}

body.dark-mode .footer-links a {
    color: var(--text-muted) !important;
}

body.dark-mode .footer-links a:hover {
    color: var(--accent-color) !important;
}

body.dark-mode .footer-copyright {
    color: var(--text-muted) !important;
}

/* 暗色模式切换按钮 */
.dark-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 15px;
    border: 1px solid var(--border-color, #555);
    background: transparent;
    color: var(--text-secondary, #999);
    cursor: pointer;
    font-size: 12px;
    transition: all 0.2s;
}

.dark-toggle:hover {
    border-color: var(--accent-color, #e65540);
    color: var(--accent-color, #e65540);
}

.dark-toggle-icon {
    font-size: 14px;
}

/* 书架暗色 */
body.dark-mode .shelf-section {
    color: var(--text-primary);
}

body.dark-mode .shelf-card {
    background: var(--bg-card);
}

body.dark-mode .shelf-progress {
    color: var(--text-secondary);
}

body.dark-mode .history-item {
    background: var(--bg-card);
}

body.dark-mode .history-title {
    color: var(--text-primary);
}

body.dark-mode .history-chapter {
    color: var(--text-secondary);
}

/* 阅读器暗色 */
body.dark-mode.reader-body {
    background: #1a1a1a !important;
    color: #c8c8c8 !important;
}

body.dark-mode.reader-body .reader-header {
    background: #111 !important;
    border-bottom-color: #333 !important;
}

body.dark-mode.reader-body .reader-back,
body.dark-mode.reader-body .reader-book-title,
body.dark-mode.reader-body .reader-chapter-title {
    color: #ccc !important;
}

body.dark-mode.reader-body .tool-btn {
    background: var(--bg-card);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode.reader-body .reader-content {
    background: #1a1a1a !important;
}

body.dark-mode.reader-body .chapter-title {
    color: #e0e0e0 !important;
}

body.dark-mode.reader-body .chapter-body {
    color: #c8c8c8 !important;
}

body.dark-mode.reader-body .chapter-nav {
    border-top-color: #333 !important;
}

body.dark-mode.reader-body .nav-btn {
    background: var(--bg-card);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode.reader-body .nav-btn:hover {
    background: var(--bg-hover);
    color: var(--accent-color);
}

body.dark-mode.reader-body .nav-btn.disabled {
    color: var(--text-muted);
    background: transparent;
}

body.dark-mode.reader-body .reader-footer {
    background: #111 !important;
    border-top-color: #333 !important;
}

body.dark-mode.reader-body .footer-nav-btn {
    color: var(--text-secondary);
}

body.dark-mode.reader-body .footer-nav-btn:hover {
    color: var(--accent-color);
}

/* 阅读器设置面板暗色 */
body.dark-mode.reader-body .reader-settings {
    background: rgba(0,0,0,0.7);
}

body.dark-mode.reader-body .settings-panel {
    background: var(--bg-card);
    color: var(--text-primary);
}

body.dark-mode.reader-body .settings-close {
    color: var(--text-secondary);
}

body.dark-mode.reader-body .size-btn,
body.dark-mode.reader-body .lh-btn {
    background: var(--bg-hover);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode.reader-body .size-btn.active,
body.dark-mode.reader-body .lh-btn.active {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
}

/* 目录面板暗色 */
body.dark-mode.reader-body .reader-catalog {
    background: rgba(0,0,0,0.7);
}

body.dark-mode.reader-body .catalog-panel {
    background: var(--bg-card);
}

body.dark-mode.reader-body .catalog-header {
    border-bottom-color: var(--border-color);
}

body.dark-mode.reader-body .catalog-header h4 {
    color: var(--text-primary);
}

body.dark-mode.reader-body .catalog-close {
    color: var(--text-secondary);
}

body.dark-mode.reader-body .catalog-item {
    color: var(--text-secondary);
    border-bottom-color: var(--border-color);
}

body.dark-mode.reader-body .catalog-item:hover,
body.dark-mode.reader-body .catalog-item.active {
    background: var(--bg-hover);
    color: var(--accent-color);
}

/* 段评/书评暗色 */
body.dark-mode.reader-body .segment-comments,
body.dark-mode.reader-body .reader-comments {
    border-top-color: #333;
}

body.dark-mode.reader-body .segment-title,
body.dark-mode.reader-body .comment-title {
    color: var(--text-primary);
}

body.dark-mode.reader-body .segment-item {
    border-bottom-color: #2a2a2a;
}

body.dark-mode.reader-body .segment-user {
    color: var(--accent-color);
}

body.dark-mode.reader-body .segment-content {
    color: var(--text-secondary);
}

body.dark-mode.reader-body .segment-time {
    color: var(--text-muted);
}

body.dark-mode.reader-body .comment-item {
    border-bottom-color: #2a2a2a;
}

body.dark-mode.reader-body .comment-user {
    color: var(--accent-color);
}

body.dark-mode.reader-body .comment-content {
    color: var(--text-secondary);
}

body.dark-mode.reader-body .comment-time {
    color: var(--text-muted);
}

body.dark-mode.reader-body .comment-input-box textarea {
    background: var(--bg-hover);
    border-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode.reader-body .comment-input-box textarea::placeholder {
    color: var(--text-muted);
}

/* 搜索结果暗色 */
body.dark-mode .no-result {
    color: var(--text-secondary);
}

body.dark-mode .no-result-tip {
    color: var(--text-muted);
}

/* 筛选栏暗色 */
body.dark-mode .filter-bar {
    background: var(--bg-card);
    border-color: var(--border-color);
}

body.dark-mode .filter-label {
    color: var(--text-secondary);
}

body.dark-mode .filter-option {
    color: var(--text-secondary);
}

body.dark-mode .filter-option:hover,
body.dark-mode .filter-option.active {
    color: var(--accent-color);
}

/* 详情页暗色 */
body.dark-mode .book-detail-header {
    background: var(--bg-card);
}

body.dark-mode .book-detail-title {
    color: var(--text-primary);
}

body.dark-mode .book-detail-meta {
    color: var(--text-secondary);
}

body.dark-mode .book-detail-intro {
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode .book-detail-actions .btn {
    background: var(--bg-hover);
    color: var(--text-secondary);
    border-color: var(--border-color);
}

body.dark-mode .book-detail-actions .btn:hover {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
}

body.dark-mode .book-detail-actions .btn-primary {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
}

/* 目录页暗色 */
body.dark-mode .catalog-grid {
    background: var(--bg-card);
}

body.dark-mode .catalog-chapter {
    color: var(--text-secondary);
    border-bottom-color: var(--border-color);
}

body.dark-mode .catalog-chapter:hover {
    background: var(--bg-hover);
    color: var(--accent-color);
}

body.dark-mode .catalog-chapter.vip {
    color: var(--text-muted);
}

/* 论坛暗色 */
body.dark-mode .forum-post {
    background: var(--bg-card);
}

body.dark-mode .forum-post-title {
    color: var(--text-primary);
}

body.dark-mode .forum-post-meta {
    color: var(--text-muted);
}

body.dark-mode .forum-post-content {
    color: var(--text-secondary);
}

body.dark-mode .forum-reply {
    border-bottom-color: var(--border-color);
}

/* 个人中心暗色 */
body.dark-mode .profile-header {
    background: var(--bg-card);
}

body.dark-mode .profile-card {
    background: var(--bg-card);
}

body.dark-mode .profile-stat {
    color: var(--text-secondary);
}

body.dark-mode .achievement-card {
    background: var(--bg-card);
}

body.dark-mode .achievement-item {
    background: var(--bg-hover);
}

body.dark-mode .achievement-item.unlocked {
    border-color: var(--accent-color);
}

body.dark-mode .quick-link {
    background: var(--bg-card);
    color: var(--text-secondary);
}

body.dark-mode .quick-link:hover {
    background: var(--bg-hover);
    color: var(--accent-color);
}

/* 阅读统计暗色 */
body.dark-mode .read-stats-card {
    background: var(--bg-card);
}

body.dark-mode .read-stat-item {
    background: var(--bg-hover);
}

body.dark-mode .read-stat-num {
    color: var(--accent-color);
}

body.dark-mode .read-stat-label {
    color: var(--text-muted);
}

/* 最近阅读暗色 */
body.dark-mode .recent-reads-card {
    background: var(--bg-card);
}

body.dark-mode .recent-read-item:hover {
    background: var(--bg-hover);
}

body.dark-mode .recent-read-title {
    color: var(--text-primary);
}

body.dark-mode .recent-read-chapter {
    color: var(--text-secondary);
}

body.dark-mode .recent-read-time {
    color: var(--text-muted);
}

/* 任务系统暗色 */
body.dark-mode .task-card {
    background: var(--bg-card);
}

body.dark-mode .task-title {
    color: var(--text-primary);
}

body.dark-mode .task-desc {
    color: var(--text-secondary);
}

body.dark-mode .task-progress-bar {
    background: var(--bg-hover);
}

/* 通知暗色 */
body.dark-mode .notification-item {
    background: var(--bg-card);
    border-bottom-color: var(--border-color);
}

body.dark-mode .notification-item.unread {
    background: var(--bg-hover);
}

body.dark-mode .notification-title {
    color: var(--text-primary);
}

body.dark-mode .notification-content {
    color: var(--text-secondary);
}

body.dark-mode .notification-time {
    color: var(--text-muted);
}

/* 签到暗色 */
body.dark-mode .checkin-card {
    background: var(--bg-card);
}

body.dark-mode .checkin-streak {
    color: var(--accent-color);
}

body.dark-mode .checkin-calendar .day {
    background: var(--bg-hover);
}

body.dark-mode .checkin-calendar .day.checked {
    background: var(--accent-color);
    color: #fff;
}

/* 暗色模式过渡动画 */
body.dark-mode,
body.dark-mode .header,
body.dark-mode .book-card,
body.dark-mode .book-list-item,
body.dark-mode .rank-sidebar,
body.dark-mode .footer,
body.dark-mode .search-box input,
body.dark-mode .category-nav {
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* 签到日历暗色 */
body.dark-mode .calendar-card {
    background: var(--bg-card);
}

body.dark-mode .calendar-header h2 {
    color: var(--text-primary);
}

body.dark-mode .calendar-nav a {
    background: var(--bg-hover);
    color: var(--text-secondary);
}

body.dark-mode .calendar-nav a:hover {
    background: var(--accent-color);
    color: #fff;
}

body.dark-mode .cal-day-header {
    color: var(--text-muted);
}

body.dark-mode .cal-day {
    background: var(--bg-hover);
    color: var(--text-muted);
}

body.dark-mode .cal-day.checked {
    background: linear-gradient(135deg, #f093fb, #f5576c);
    color: #fff;
}

body.dark-mode .cal-day.future {
    background: transparent;
    color: var(--text-muted);
}

body.dark-mode .cal-day.empty {
    background: transparent;
}

body.dark-mode .cal-legend {
    border-top-color: var(--border-color);
    color: var(--text-muted);
}

/* 打赏排行榜暗色 */
body.dark-mode .reward-card {
    background: var(--bg-card);
}

body.dark-mode .reward-header h2 {
    color: var(--text-primary);
}

body.dark-mode .reward-header p {
    color: var(--text-muted);
}

body.dark-mode .reward-item {
    border-bottom-color: var(--border-color);
}

body.dark-mode .reward-item:hover {
    background: var(--bg-hover);
}

body.dark-mode .reward-username {
    color: var(--text-primary);
}

body.dark-mode .reward-count {
    color: var(--text-muted);
}

body.dark-mode .reward-book-info {
    background: var(--bg-card);
}

body.dark-mode .reward-book-title {
    color: var(--text-primary);
}

body.dark-mode .reward-book-author {
    color: var(--text-muted);
}

/* 月票排行榜暗色 */
body.dark-mode .ticket-card {
    background: var(--bg-card);
}

body.dark-mode .ticket-header h2 {
    color: var(--text-primary);
}

body.dark-mode .ticket-header p {
    color: var(--text-muted);
}

body.dark-mode .ticket-item {
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

body.dark-mode .ticket-item:hover {
    background: var(--bg-hover);
    color: var(--accent-color);
}

body.dark-mode .ticket-title {
    color: var(--text-primary);
}

body.dark-mode .ticket-author {
    color: var(--text-muted);
}

body.dark-mode .ticket-count {
    color: var(--accent-color);
}

body.dark-mode .ticket-count small {
    color: var(--text-muted);
}
