/* ============================================
   暗黑模式样式
   ============================================ */

/* 暗黑模式变量 */
[data-theme="dark"] {
    --bg-primary: #121212;
    --bg-secondary: #1a1a1a;
    --bg-tertiary: #2a2a2a;
    --text-primary: #e0e0e0;
    --text-secondary: #a0a0a0;
    --text-muted: #666;
    --border-color: #333;
    --shadow-color: rgba(0, 0, 0, 0.4);
    --card-bg: #1a1a1a;
    --input-bg: #121212;
    --hover-bg: rgba(255, 255, 255, 0.05);
}

/* 暗黑模式全局样式 */
[data-theme="dark"] body {
    background: #121212;
    color: var(--text-primary);
    font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

[data-theme="dark"] body::before {
    background: #121212;
}

/* 导航栏暗黑模式 */
[data-theme="dark"] .navbar {
    background: #1a1a1a !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    border-bottom: 1px solid #333;
}

[data-theme="dark"] .navbar-brand {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .nav-link {
    color: #a0a0a0;
}

[data-theme="dark"] .nav-link:hover {
    color: #fff;
}

/* 卡片暗黑模式 */
[data-theme="dark"] .card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .card::before {
    background: #666;
}

[data-theme="dark"] .card-header {
    background: #1a1a1a;
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

/* 表白墙卡片暗黑模式 */
[data-theme="dark"] .confession-card {
    background: #1a1a1a;
    color: #e0e0e0;
    border-color: #333;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .confession-card::before {
    background: #666;
}

[data-theme="dark"] .confession-card .emotion-tag {
    background: #333;
    color: #e0e0e0;
}

/* 列表项暗黑模式 */
[data-theme="dark"] .list-group-item {
    background: var(--card-bg);
    border-bottom-color: #2a2a2a;
    color: var(--text-primary);
}

[data-theme="dark"] .list-group-item:hover {
    background: #222;
}

[data-theme="dark"] .list-group-item a {
    color: var(--text-primary);
}

/* 表单暗黑模式 */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--input-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: #666;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--text-muted);
}

/* 按钮暗黑模式 */
[data-theme="dark"] .btn-primary {
    background: #444;
}

[data-theme="dark"] .btn-outline-primary {
    color: #a0a0a0;
    border-color: #444;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background: #444;
    color: #fff;
}

/* 表格暗黑模式 */
[data-theme="dark"] .table {
    color: var(--text-primary);
}

[data-theme="dark"] .table thead th {
    background: #1a1a1a;
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .table tbody tr:hover {
    background: #222;
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
    border-color: var(--border-color);
}

/* 徽章暗黑模式 */
[data-theme="dark"] .badge {
    background: #333 !important;
}

/* 警告框暗黑模式 */
[data-theme="dark"] .alert {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

/* 页脚暗黑模式 */
[data-theme="dark"] footer {
    background: #121212 !important;
    border-top-color: var(--border-color);
}

[data-theme="dark"] footer a {
    color: var(--text-secondary);
}

[data-theme="dark"] footer a:hover {
    color: var(--text-primary);
}

/* 文本颜色 */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: #e0e0e0;
}

[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* 链接颜色 */
[data-theme="dark"] a {
    color: #a0a0a0;
}

[data-theme="dark"] a:hover {
    color: #fff;
}

/* 下拉菜单暗黑模式 */
[data-theme="dark"] .dropdown-menu {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background: #222;
}

/* 模态框暗黑模式 */
[data-theme="dark"] .modal-content {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .modal-header {
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .modal-footer {
    border-top-color: var(--border-color);
}

[data-theme="dark"] .modal-title {
    color: var(--text-primary);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* 纸条暗黑模式 */
[data-theme="dark"] .paper-note {
    background: #1a1a1a;
    border-left-color: #666;
    color: var(--text-primary);
}

/* 分类标签暗黑模式 */
[data-theme="dark"] .category-badge {
    background: #2a2a2a;
    color: var(--text-primary);
    border-color: #333;
}

[data-theme="dark"] .category-badge:hover,
[data-theme="dark"] .category-badge.active {
    background: #444;
    color: #fff;
}

/* 滚动条暗黑模式 */
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: #1a1a1a;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #444;
}

/* 投票按钮暗黑模式 */
[data-theme="dark"] .vote-btn {
    color: #666;
}

[data-theme="dark"] .vote-btn:hover {
    color: #aaa;
    background: rgba(255,255,255,0.05);
}

[data-theme="dark"] .vote-btn.upvoted {
    color: #aaa;
    background: rgba(255,255,255,0.08);
}

[data-theme="dark"] .vote-btn.downvoted {
    color: #888;
    background: rgba(255,255,255,0.05);
}

/* 头像暗黑模式 */
[data-theme="dark"] .avatar {
    background: #333;
}

/* 置顶标签暗黑模式 */
[data-theme="dark"] .sticky-badge {
    background: #444;
    color: #fff;
}

/* 首页横幅暗黑模式 */
[data-theme="dark"] .card.bg-primary {
    background: #1a1a1a !important;
}

/* 粒子背景暗黑模式 */
[data-theme="dark"] .particle {
    opacity: 0.2 !important;
}

/* 暗黑模式全局样式 */
[data-theme="dark"] body {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: var(--text-primary);
}

[data-theme="dark"] body::before {
    background: 
        radial-gradient(circle at 100% 0%, rgba(59, 130, 246, 0.15) 0%, transparent 40%),
        radial-gradient(circle at 0% 100%, rgba(139, 92, 246, 0.1) 0%, transparent 40%),
        radial-gradient(circle at 50% 50%, rgba(59, 130, 246, 0.05) 0%, transparent 60%);
}

/* 导航栏暗黑模式 */
[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* 卡片暗黑模式 */
[data-theme="dark"] .card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px var(--shadow-color);
}

[data-theme="dark"] .card::before {
    background: linear-gradient(90deg, #3b82f6, #8b5cf6, #f59e0b);
}

[data-theme="dark"] .card-header {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

/* 表白墙卡片暗黑模式 */
[data-theme="dark"] .confession-card {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color: #fcd34d;
    border-color: #475569;
    box-shadow: 3px 3px 0 #475569, 0 5px 15px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .confession-card .emotion-tag {
    background: rgba(251, 191, 36, 0.3);
}

/* 列表项暗黑模式 */
[data-theme="dark"] .list-group-item {
    background: var(--card-bg);
    border-bottom-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .list-group-item:hover {
    background: linear-gradient(90deg, rgba(59, 130, 246, 0.15), transparent);
}

[data-theme="dark"] .list-group-item a {
    color: var(--text-primary);
}

/* 表单暗黑模式 */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--input-bg);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--text-muted);
}

/* 按钮暗黑模式 */
[data-theme="dark"] .btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
}

[data-theme="dark"] .btn-outline-primary {
    color: #60a5fa;
    border-color: #3b82f6;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background: #3b82f6;
    color: white;
}

[data-theme="dark"] .btn-outline-danger {
    color: #f87171;
    border-color: #ef4444;
}

[data-theme="dark"] .btn-outline-danger:hover {
    background: #ef4444;
    color: white;
}

/* 表格暗黑模式 */
[data-theme="dark"] .table {
    color: var(--text-primary);
}

[data-theme="dark"] .table thead th {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .table tbody tr:hover {
    background: linear-gradient(90deg, rgba(59, 130, 246, 0.1), transparent);
}

[data-theme="dark"] .table td,
[data-theme="dark"] .table th {
    border-color: var(--border-color);
}

/* 徽章暗黑模式 */
[data-theme="dark"] .badge {
    background: var(--bg-tertiary);
}

[data-theme="dark"] .badge.bg-primary {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8) !important;
}

[data-theme="dark"] .badge.bg-secondary {
    background: var(--bg-tertiary) !important;
}

/* 警告框暗黑模式 */
[data-theme="dark"] .alert {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .alert-info {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
    color: #93c5fd;
}

[data-theme="dark"] .alert-warning {
    background: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.3);
    color: #fcd34d;
}

[data-theme="dark"] .alert-danger {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
    color: #fca5a5;
}

[data-theme="dark"] .alert-success {
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.3);
    color: #6ee7b7;
}

/* 页脚暗黑模式 */
[data-theme="dark"] footer {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
    border-top-color: var(--border-color);
}

[data-theme="dark"] footer a {
    color: var(--text-secondary);
}

[data-theme="dark"] footer a:hover {
    color: var(--text-primary);
}

/* 文本颜色 */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: var(--text-primary);
}

[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .text-primary {
    color: #60a5fa !important;
}

[data-theme="dark"] .text-danger {
    color: #f87171 !important;
}

[data-theme="dark"] .text-success {
    color: #4ade80 !important;
}

/* 链接颜色 */
[data-theme="dark"] a {
    color: #60a5fa;
}

[data-theme="dark"] a:hover {
    color: #93c5fd;
}

/* 下拉菜单暗黑模式 */
[data-theme="dark"] .dropdown-menu {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover {
    background: linear-gradient(90deg, rgba(59, 130, 246, 0.2), transparent);
}

[data-theme="dark"] .dropdown-divider {
    border-top-color: var(--border-color);
}

/* 模态框暗黑模式 */
[data-theme="dark"] .modal-content {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
}

[data-theme="dark"] .modal-header {
    border-bottom-color: var(--border-color);
}

[data-theme="dark"] .modal-footer {
    border-top-color: var(--border-color);
}

[data-theme="dark"] .modal-title {
    color: var(--text-primary);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* 纸条暗黑模式 */
[data-theme="dark"] .paper-note {
    background: var(--bg-secondary);
    border-left-color: #fbbf24;
    color: var(--text-primary);
}

/* 分类标签暗黑模式 */
[data-theme="dark"] .category-badge {
    background: linear-gradient(135deg, #334155 0%, #475569 100%);
    color: var(--text-primary);
    border-color: var(--border-color);
}

[data-theme="dark"] .category-badge:hover,
[data-theme="dark"] .category-badge.active {
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: white;
}

/* 滚动条暗黑模式 */
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #475569, #64748b);
}

/* 投票按钮暗黑模式 */
[data-theme="dark"] .vote-btn {
    color: var(--text-muted);
}

[data-theme="dark"] .vote-btn:hover {
    color: #60a5fa;
    background: rgba(59, 130, 246, 0.15);
}

[data-theme="dark"] .vote-btn.upvoted {
    color: #60a5fa;
    background: rgba(59, 130, 246, 0.15);
}

[data-theme="dark"] .vote-btn.downvoted {
    color: #f87171;
    background: rgba(239, 68, 68, 0.15);
}

/* 倒计时区域暗黑模式 */
[data-theme="dark"] .countdown-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
}

[data-theme="dark"] .countdown-grade-card {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .quote-section {
    background: rgba(255, 255, 255, 0.05);
}

/* 粒子背景暗黑模式 */
[data-theme="dark"] .particle {
    opacity: 0.4 !important;
}

/* 暗黑模式切换按钮 */
.theme-toggle {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
}

.theme-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
    transform: rotate(15deg);
}

[data-theme="dark"] .theme-toggle {
    border-color: rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.8);
}

/* 暗黑模式下的骨架屏 */
[data-theme="dark"] .skeleton {
    background: linear-gradient(
        90deg,
        #1e293b 25%,
        #334155 50%,
        #1e293b 75%
    );
    background-size: 200% 100%;
}

/* 空状态暗黑模式 */
[data-theme="dark"] .empty-state {
    color: var(--text-secondary);
}

[data-theme="dark"] .empty-state i {
    color: var(--text-muted);
}

/* 首页横幅暗黑模式 */
[data-theme="dark"] .card.bg-primary {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%) !important;
}

/* 头像暗黑模式 */
[data-theme="dark"] .avatar {
    background: linear-gradient(135deg, #334155 0%, #475569 100%);
}

/* 置顶标签暗黑模式 */
[data-theme="dark"] .sticky-badge {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #1e293b;
}

/* 暗黑模式动画粒子颜色 */
[data-theme="dark"] .particle {
    background: rgba(59, 130, 246, 0.3) !important;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.3) !important;
}
