[data-bs-theme="dark"] {
    --bs-body-bg: #000; --bs-body-color: #fff; --bs-secondary-bg: #0A0A0A; --bs-tertiary-bg: #111;
    --bs-primary: #2563eb; --bs-primary-rgb: 37, 99, 235; --bs-link-color: #2563eb; --bs-link-hover-color: #1a4b91;
    --bs-border-color: #1e3a8a; --bs-card-bg: #111; --bs-secondary-color: #A0AEC0; --bs-tertiary-color: #718096;
    --bs-success: #059669; --bs-danger: #DC2626; --bs-warning: #D97706; --bs-form-control-bg: #1A1A1A;
    --bs-navbar-color: #A0AEC0; --bs-navbar-hover-color: #fff; --bs-navbar-brand-color: #2563eb;
    --bs-dark-rgb: 0,0,0;
}
[data-bs-theme="light"] { --bs-primary: #2563eb; --bs-primary-rgb: 37, 99, 235; --bs-border-color: #1e3a8a; }

html, body { min-height: 100vh; }
body { display: flex; flex-direction: column; }
main { flex: 1; }

.navbar { background-color: #000 !important; }
.bg-dark { background-color: #000 !important; }
.vh-60 { min-height: 60vh; }

.hero-section { position: relative; height: 320px; overflow: hidden; }
.hero-section img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.45)); }
.hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; color: #fff; }
.hero-content h1 { text-shadow: 2px 2px 4px rgba(0,0,0,.3); }

.profile-img { width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; border: 2px solid var(--bs-primary); }
.feature-card { transition: transform .2s, box-shadow .2s; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(37,99,235,.15); }
.loading-spinner { width: 2rem; height: 2rem; border: 3px solid var(--bs-secondary-bg); border-top-color: var(--bs-primary); border-radius: 50%; animation: spin .6s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.forum-thread-card { transition: background-color .2s; }
.forum-thread-card:hover { background-color: var(--bs-tertiary-bg); }
.forum-thread-card .card-body { border-bottom: 1px solid var(--bs-border-color); }
.forum-thread-card .card-footer { background: transparent; border-top: none; }
.comment { border-left: 2px solid var(--bs-primary); padding-left: 0.5rem; }

.swal2-popup { background: #111 !important; color: #fff !important; }
.swal2-title { color: #fff !important; }
.swal2-html-container { color: #A0AEC0 !important; }
.swal2-input, .swal2-textarea { background: #1A1A1A !important; color: #fff !important; border-color: #1e3a8a !important; }
.swal2-confirm { background: #2563eb !important; }

[data-font-size="small"] { font-size: 14px; }
[data-font-size="normal"] { font-size: 16px; }
[data-font-size="large"] { font-size: 18px; }

.conv-container { min-height: 400px; }
.message-bubble { max-width: 70%; }
.profile-img-sm { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }

.vote-buttons { min-width: 28px; }
.vote-count { font-size: 0.85rem; font-weight: bold; }
.replies-container:empty { display: none; }
.comment-actions .btn-link { text-decoration: none; font-size: 0.8rem; }

.view-comments-btn { text-decoration: none; font-weight: 500; }
.view-comments-btn:hover { text-decoration: underline; }
.toggle-icon { display: inline-block; transition: transform .2s; font-size: 0.75em; }

.profile-pic-preview { width: 100px; height: 100px; object-fit: cover; }
.manual-pic-preview { width: 40px; height: 40px; object-fit: cover; }
.profile-preview-lg { width: 80px; height: 80px; object-fit: cover; }
.admin-list-scroll { max-height: 300px; overflow-y: auto; }

/* Wiki Styles */
.wiki-nav-sticky { top: 100px; }
.wiki-image { max-width: 100%; height: auto; display: block; margin: 1rem 0; border-radius: 0.375rem; }
.cursor-pointer { cursor: pointer; }
.collapsible-header { background-color: var(--bs-tertiary-bg); transition: background-color 0.2s; }
.collapsible-header:hover { background-color: var(--bs-secondary-bg); }
.rotate-90 { transform: rotate(90deg); }
.toggle-icon { transition: transform 0.3s ease; display: inline-block; }
