/* NxRx Community Theme – Neon Lila / Cyan, Festival-Nacht */

:root {
    --bg: #05050c;
    --bg-card: #0e0e18;
    --bg-input: #0a0a12;
    --text: #eef0ff;
    --text-muted: #9aa0c0;
    --primary: #a855f7;
    --primary-hover: #c084fc;
    --border: #2a2a45;
    --success: #22d3ee;
    --error: #f43f5e;
    --accent-cyan: #22d3ee;
    --accent-pink: #e879f9;
}

body {
    background:
        radial-gradient(ellipse 90% 50% at 50% -10%, rgba(168, 85, 247, 0.18) 0%, transparent 55%),
        radial-gradient(ellipse 60% 40% at 90% 20%, rgba(34, 211, 238, 0.08) 0%, transparent 45%),
        #05050c;
    color: var(--text);
}

/* Header */
.main-header {
    background: linear-gradient(180deg, #12121f 0%, #0a0a14 100%);
    border-bottom: 1px solid #2a2a45;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.12);
}

.logo {
    color: #fff;
    text-shadow:
        0 0 10px rgba(168, 85, 247, 0.6),
        0 0 24px rgba(34, 211, 238, 0.35);
}

.logo:hover {
    color: var(--accent-cyan);
}

.nav-desktop a:hover,
.nav-mobile a:hover {
    color: var(--accent-cyan);
}

.username {
    color: var(--accent-pink);
}

/* Buttons – Neon Purple */
.btn-primary {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 50%, #06b6d4 100%);
    color: #fff;
    font-weight: 700;
    border: none;
    box-shadow:
        0 0 16px rgba(168, 85, 247, 0.45),
        0 0 4px rgba(34, 211, 238, 0.3);
}

.btn-primary:hover,
.btn-primary:active {
    background: linear-gradient(135deg, #c084fc 0%, #a855f7 50%, #22d3ee 100%);
    box-shadow:
        0 0 24px rgba(168, 85, 247, 0.55),
        0 0 8px rgba(34, 211, 238, 0.4);
}

.btn-outline {
    border-color: #3d3d60;
    color: var(--text);
}

.btn-outline:hover {
    border-color: var(--accent-cyan);
    color: var(--accent-cyan);
    box-shadow: 0 0 12px rgba(34, 211, 238, 0.25);
}

/* Cards */
.category-card,
.thread-card,
.contest-card,
.message-card,
.message-card-wrap,
.post,
.profile-section,
.profile-header,
.auth-box,
.admin-box,
.entry-card,
.user-card,
.home-feature,
.home-stats {
    background: linear-gradient(180deg, #12121e 0%, #0e0e18 100%);
    border: 1px solid #2a2a45;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45);
}

.category-card:hover,
.thread-card:hover,
.contest-card:hover,
.message-card-wrap:hover {
    border-color: var(--primary);
    box-shadow: 0 0 18px rgba(168, 85, 247, 0.2);
}

/* Inputs */
.form-group input,
.form-group textarea,
.form-group select,
.chat-form-row input,
.chat-form input {
    background: #0a0a12;
    border-color: #2a2a45;
    color: var(--text);
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus,
.chat-form-row input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.25);
}

/* Links & accents */
a {
    color: var(--accent-cyan);
}

.post-author,
.chat-author,
.profile-stats strong,
.home-stat strong {
    color: var(--accent-pink) !important;
}

.home-feature-link {
    color: var(--accent-cyan);
}

/* Welcome */
.welcome-box h1 {
    color: #fff;
    text-shadow:
        0 0 20px rgba(168, 85, 247, 0.5),
        0 0 40px rgba(34, 211, 238, 0.25);
}

/* Chat */
.chat-container {
    background: #0e0e18;
    border-color: #2a2a45;
}

.chat-message {
    background: #12121e;
    border-color: #2a2a45;
}

.chat-message.own {
    background: rgba(168, 85, 247, 0.12);
    border-color: rgba(168, 85, 247, 0.35);
}

/* Avatar */
.profile-avatar,
.user-avatar {
    background: linear-gradient(135deg, #a855f7, #22d3ee);
    box-shadow: 0 0 14px rgba(168, 85, 247, 0.45);
}

.badge.badge-admin,
span.badge.badge-admin {
    background: #dc2626 !important;
    background-color: #dc2626 !important;
    color: #ffffff !important;
    border: 1px solid #b91c1c !important;
}

.badge-mod {
    background: rgba(34, 211, 238, 0.2);
    color: #a5f3fc;
}

/* Flash */
.flash-success {
    background: rgba(34, 211, 238, 0.12);
    color: #67e8f9;
    border-color: rgba(34, 211, 238, 0.35);
}

.status-active {
    background: rgba(168, 85, 247, 0.2);
    color: #e9d5ff;
}

/* Footer */
.main-footer {
    border-top-color: #2a2a45;
    background: #08080f;
}

.footer-links a:hover {
    color: var(--accent-cyan);
}

/* Banner box matches neon feel */
.site-banner .container {
    border-color: #3d2a55;
    box-shadow: 0 0 24px rgba(168, 85, 247, 0.15);
}

/* Header accent line */
.main-header::after {
    content: '';
    display: block;
    height: 2px;
    background: linear-gradient(90deg, transparent, #a855f7, #22d3ee, #e879f9, transparent);
    opacity: 0.7;
}

.nav-badge {
    background: #e879f9;
    color: #1a0a20;
}

.smiley-picker {
    background: #0a0a12;
    border-color: #2a2a45;
}
