/*=====================================================
                COMMUNITY ARENA
======================================================*/

.community-layout{

    max-width:1600px;

    margin:40px auto;

    padding:0 24px;

    display:grid;

    grid-template-columns:300px 1fr 340px;

    gap:24px;

    align-items:start;

}


/*=====================================================
                    SIDEBARS
======================================================*/

.left-sidebar{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.right-sidebar{

    display:flex;

    flex-direction:column;

    gap:20px;

    position:sticky;

    top:100px;

}


/*=====================================================
                    FEED
======================================================*/

.community-feed{

    display:flex;

    flex-direction:column;

    gap:24px;

}


/*=====================================================
                GLASS CARD
======================================================*/

.community-card{

    background:rgba(12,20,38,.72);

    border:1px solid rgba(255,255,255,.06);

    border-radius:22px;

    backdrop-filter:blur(28px);

    -webkit-backdrop-filter:blur(28px);

    box-shadow:

        0 15px 45px rgba(0,0,0,.45),

        inset 0 1px rgba(255,255,255,.06);

    padding:22px;

    transition:.35s;

}

.community-card:hover{

    transform:translateY(-4px);

    border-color:rgba(66,165,245,.35);

    box-shadow:

        0 18px 55px rgba(0,0,0,.55),

        0 0 35px rgba(66,165,245,.18);

}


/*=====================================================
                TITLES
======================================================*/

.community-card h3{

    color:#ffffff;

    font-size:18px;

    font-weight:700;

    margin-bottom:18px;

}

.community-card p{

    color:#9fb2cc;

    line-height:1.6;

}


/*=====================================================
                RESPONSIVE
======================================================*/

@media(max-width:1200px){

    .community-layout{

        grid-template-columns:270px 1fr;

    }

    .right-sidebar{

        display:none;

    }

}

@media(max-width:900px){

    .community-layout{

        grid-template-columns:1fr;

    }

    .left-sidebar,
    .right-sidebar{

        display:none;

    }

}

/*=====================================================
                PROFILE CARD
======================================================*/

.profile-top{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.profile-avatar{

    width:120px;

    height:120px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid rgba(66,165,245,.35);

    box-shadow:0 0 30px rgba(66,165,245,.30);

}

.profile-top h2{

    margin-top:18px;

    color:#fff;

    font-size:24px;

}

.member-role{

    margin-top:8px;

    padding:8px 18px;

    border-radius:30px;

    background:#1e88e5;

    color:white;

    font-size:13px;

    font-weight:700;

}

.profile-stats{

    display:flex;

    justify-content:space-between;

    margin-top:30px;

    text-align:center;

}

.profile-stats h3{

    color:white;

    margin-bottom:6px;

}

.profile-stats small{

    color:#8ea2be;

}

.profile-btn{

    width:100%;

    margin-top:30px;

    padding:14px;

    border:none;

    border-radius:14px;

    cursor:pointer;

    background:#1976d2;

    color:white;

    font-size:15px;

    font-weight:700;

    transition:.3s;

}

.profile-btn:hover{

    background:#42a5f5;

}

/*=====================================================
                CREATE POST
======================================================*/

.post-input textarea{

    width:100%;

    min-height:44px;

    max-height:160px;

    resize:none;

    overflow-y:auto;

    border:none;

    outline:none;

    background:transparent;

    color:#fff;

    font-size:15px;

    line-height:1.6;

    padding:10px 0;

}

.post-input{

    display:flex;

    align-items:flex-start;

    gap:14px;

}

.mini-avatar{

    width:52px;

    height:52px;

    border-radius:50%;

}

.post-actions{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:15px;

    gap:15px;

}

.post-right{

    display:flex;

    align-items:center;

    gap:18px;

    margin-left:auto;

}

#postCounter{

    font-size:13px;

    color:#8fa3bf;

    font-weight:500;

    user-select:none;

}

.post-btn{

    min-width:140px;

    height:44px;

    border:none;

    border-radius:12px;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

}


/*=====================================================
                    POSTS
======================================================*/


.post-card p{

    margin:22px 0;

    color:#dbe7f6;

    line-height:1.7;

}

.post-footer{

    display:flex;

    gap:30px;

    color:#8da3c0;

    cursor:pointer;

}

/*=========================
      LIVE CHESS CARD
=========================*/

.chess-card{

    background:linear-gradient(135deg,#1f1147,#0d1833);

    border:1px solid rgba(116,93,255,.45);

    box-shadow:0 0 35px rgba(90,60,255,.35);

    overflow:hidden;

}

.chess-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}

.chess-header h3{

    color:#fff;

    font-size:24px;

    margin:0;

}

.chess-header span{

    color:#b9b9ff;

    font-size:13px;

}

.live-dot{

    width:14px;

    height:14px;

    border-radius:50%;

    background:#00ff66;

    box-shadow:0 0 20px #00ff66;

    animation:pulse 1.2s infinite;

}

@keyframes pulse{

    0%{transform:scale(1);opacity:1;}

    50%{transform:scale(1.4);opacity:.4;}

    100%{transform:scale(1);opacity:1;}

}

.chess-players{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:25px 0;

}

.player{

    text-align:center;

}

.player strong{

    display:block;

    color:#fff;

    font-size:18px;

}

.player small{

    color:#9ca9c8;

}

.vs{

    width:60px;

    height:60px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#4d3cff;

    color:#fff;

    font-weight:700;

    box-shadow:0 0 18px rgba(97,77,255,.6);

}

.watching{

    text-align:center;

    color:#ffd54f;

    font-size:16px;

    margin-bottom:20px;

}

.watch-btn{

    width:100%;

    padding:14px;

    border:none;

    border-radius:12px;

    background:linear-gradient(90deg,#ff8a00,#ff3d00);

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.watch-btn:hover{

    transform:translateY(-2px);

    box-shadow:0 0 20px rgba(255,120,0,.6);

}

/*=====================================================
                AUTH MODAL
=====================================================*/

.auth-overlay{

    position:fixed;

    inset:0;

    background:rgba(2,8,20,.82);

    backdrop-filter:blur(12px);

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.auth-card{
    width:100%;
    max-width:560px;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    box-sizing:border-box;

    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:35px;

    backdrop-filter:blur(20px);
    box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.auth-card h1{

    text-align:center;

    font-size:30px;

    margin-bottom:10px;

}

.auth-card p{

    text-align:center;

    color:#9eb7d3;

    margin-bottom:25px;

}

.auth-tabs{

    display:flex;

    gap:10px;

    margin-bottom:25px;

}

.auth-tab{

    flex:1;

    padding:14px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    color:#fff;

    background:rgba(255,255,255,.08);

    transition:.3s;

    font-weight:600;

}

.auth-tab.active{

    background:linear-gradient(90deg,#007bff,#00c6ff);

}

#loginForm,
#registerForm{

    display:flex;

    flex-direction:column;

    gap:16px;

}

#loginForm input,
#registerForm input{

    padding:14px;

    border-radius:12px;

    border:1px solid rgba(255,255,255,.10);

    background:rgba(255,255,255,.05);

    color:#fff;

    outline:none;

}

#loginForm input:focus,
#registerForm input:focus{

    border-color:#00c6ff;

    box-shadow:0 0 18px rgba(0,198,255,.35);

}

.auth-btn{

    padding:15px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    color:#fff;

    font-size:16px;

    font-weight:700;

    background:linear-gradient(90deg,#007bff,#00c6ff);

}

/*=====================================================
            REGISTER AVATAR GRID
=====================================================*/

.avatar-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:12px;

    margin-top:15px;

}

.avatar-option{

    width:100%;

    aspect-ratio:1;

    object-fit:cover;

    border-radius:16px;

    border:3px solid transparent;

    cursor:pointer;

    transition:.30s;

    background:#1b2232;

}

.avatar-option:hover{

    transform:translateY(-4px) scale(1.05);

    border-color:#00bfff;

    box-shadow:0 0 20px rgba(0,191,255,.45);

}

.avatar-option.selected{

    border-color:#00e5ff;

    box-shadow:
        0 0 18px rgba(0,229,255,.9),
        0 0 40px rgba(0,229,255,.35);

}

#registerForm h3{

    margin-top:10px;

    color:#fff;

    font-size:18px;

}

@media(max-width:768px){

    .avatar-grid{

        grid-template-columns:repeat(3,1fr);

    }

}

/*=====================================================
                CHESS ARENA
======================================================*/

.chess-card{

    background:linear-gradient(145deg,#1a1444,#111a33);
    border:1px solid rgba(102,126,234,.35);
    border-radius:22px;
    padding:22px;
    box-shadow:
        0 0 25px rgba(76,110,245,.18),
        inset 0 1px 0 rgba(255,255,255,.05);
    overflow:hidden;

}

.chess-header{

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:20px;

}

.chess-header h3{

    margin:0;
    font-size:28px;
    font-weight:700;
    color:#ffffff;

}

.chess-header span{

    display:block;
    margin-top:5px;
    color:#9ca8d6;
    font-size:14px;

}

.live-dot{

    width:14px;
    height:14px;
    border-radius:50%;
    background:#00ff73;
    box-shadow:
        0 0 10px #00ff73,
        0 0 25px #00ff73;
    animation:livePulse 1.2s infinite;

}

@keyframes livePulse{

    0%{

        transform:scale(.9);
        opacity:.8;

    }

    50%{

        transform:scale(1.3);
        opacity:1;

    }

    100%{

        transform:scale(.9);
        opacity:.8;

    }

}

.chess-actions{

    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:22px;

}

.play-btn,
.join-btn{

    width:100%;
    border:none;
    border-radius:14px;
    padding:14px 18px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.30s;

}

.play-btn{

    background:linear-gradient(135deg,#00d26a,#18ff8f);
    color:#08121f;

}

.play-btn:hover{

    transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(0,255,140,.35);

}

.join-btn{

    background:linear-gradient(135deg,#2b78ff,#54b4ff);
    color:#fff;

}

.join-btn:hover{

    transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(60,140,255,.35);

}

.waiting-section,
.live-match-section{

    margin-top:18px;

}

.waiting-section h4,
.live-match-section h4{

    color:#ffffff;
    margin-bottom:12px;
    font-size:17px;

}

#waitingPlayers p{

    margin:0;
    padding:15px;
    text-align:center;
    border-radius:12px;
    background:rgba(255,255,255,.05);
    color:#aeb7d8;
    border:1px solid rgba(255,255,255,.08);

}

.live-match{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:16px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    transition:.3s;

}

.live-match:hover{

    transform:translateY(-2px);
    background:rgba(255,255,255,.09);

}

.live-match strong{

    color:#ffffff;
    font-size:15px;

}

.live-match span{

    color:#9ca8d6;
    margin:0 6px;

}

.watch-btn{

    border:none;
    border-radius:10px;
    padding:10px 18px;
    background:linear-gradient(135deg,#ff8a00,#ff4d00);
    color:#fff;
    font-weight:700;
    cursor:pointer;
    transition:.3s;

}

.watch-btn:hover{

    transform:scale(1.05);
    box-shadow:0 10px 25px rgba(255,110,0,.35);

}

.watching{

    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
    color:#ffd54a;
    font-size:16px;
    font-weight:700;

}

#spectatorCount{

    color:#ffffff;
    font-size:22px;

}

@media(max-width:768px){

    .chess-card{

        padding:18px;

    }

    .chess-header h3{

        font-size:24px;

    }

}

.right-sidebar{

    margin-top:0 !important;
    padding-top:0 !important;

    align-self:start !important;
    justify-self:start !important;

    position:sticky;
    top:40px;

}

.chess-card{

    margin-top:0 !important;

}

/*=====================================================
            CHESS SEARCH OVERLAY
=====================================================*/

.chess-overlay{

    position:fixed;

    inset:0;

    display:none;

    align-items:center;

    justify-content:center;

    background:rgba(2,8,20,.82);

    backdrop-filter:blur(16px);

    z-index:999999;

    animation:fadeOverlay .35s ease;

}

.chess-overlay-card{

    width:430px;

    max-width:92%;

    padding:42px;

    border-radius:24px;

    background:linear-gradient(145deg,#151d36,#0f172b);

    border:1px solid rgba(255,255,255,.08);

    box-shadow:

        0 0 60px rgba(0,255,150,.15),

        0 25px 80px rgba(0,0,0,.45);

    text-align:center;

}

.arena-logo{

    width:90px;

    height:90px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:44px;

    background:linear-gradient(135deg,#19ff8c,#0dd0ff);

    color:#08121f;

    box-shadow:0 0 35px rgba(25,255,140,.45);

    animation:pulseArena 2s infinite;

}

.chess-overlay-card h2{

    margin-top:22px;

    color:#fff;

    font-size:30px;

    font-weight:700;

}

.chess-overlay-card p{

    margin-top:14px;

    color:#bfc8d8;

    font-size:17px;

}

.search-loader{

    display:flex;

    justify-content:center;

    gap:12px;

    margin:34px 0;

}

.search-loader span{

    width:14px;

    height:14px;

    border-radius:50%;

    background:#19ff8c;

    animation:loaderPulse 1.2s infinite;

}

.search-loader span:nth-child(2){

    animation-delay:.2s;

}

.search-loader span:nth-child(3){

    animation-delay:.4s;

}

.search-loader span:nth-child(4){

    animation-delay:.6s;

}

.countdown-box{

    display:none;

    margin:20px 0;

}

.countdown-box span{

    font-size:72px;

    color:#19ff8c;

    font-weight:800;

    text-shadow:0 0 30px rgba(25,255,140,.6);

}

.cancel-search-btn{

    width:100%;

    margin-top:20px;

    padding:15px;

    border:none;

    border-radius:14px;

    background:#ff4d4d;

    color:#fff;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.cancel-search-btn:hover{

    transform:translateY(-2px);

    background:#ff2f2f;

}

@keyframes loaderPulse{

    0%{

        transform:scale(.6);

        opacity:.35;

    }

    50%{

        transform:scale(1.3);

        opacity:1;

    }

    100%{

        transform:scale(.6);

        opacity:.35;

    }

}

@keyframes pulseArena{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}

@keyframes fadeOverlay{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

/*=====================================================
            MEMBER PROFILE POPUP
=====================================================*/

.member-profile-modal{

    position:fixed;
    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.72);
    backdrop-filter:blur(12px);

    z-index:999999;

}

.member-profile-card{

    width:420px;
    max-width:92%;

    padding:30px;

    border-radius:24px;

    background:linear-gradient(145deg,#141d34,#0f1728);

    border:1px solid rgba(255,255,255,.08);

    box-shadow:0 20px 60px rgba(0,0,0,.45);

    text-align:center;

}

.member-profile .mini-avatar,
.member-profile{

    cursor:pointer;

}

.member-profile:hover{

    color:#42a5f5;

}

.secondary-btn{

    background:#37474f;

}

.secondary-btn:hover{

    background:#546e7a;

}

.logout-btn{

    background:#d32f2f;

}

.logout-btn:hover{

    background:#ef5350;

}

/*=====================================================
            PREMIUM RADIAL EMOJI PICKER
======================================================*/

.emoji-picker{

    position:relative;

    width:56px;

    height:56px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:visible;

    flex-shrink:0;

}

.emoji-center{

    position:relative;

    width:50px;

    height:50px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    font-size:28px;

    background:rgba(20,28,46,.95);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    box-shadow:
        0 0 18px rgba(0,180,255,.18),
        inset 0 0 12px rgba(255,255,255,.05);

    transition:.25s;

    z-index:100;

}

.emoji-center:hover{

    transform:scale(1.08);

    box-shadow:
        0 0 30px rgba(0,180,255,.45);

}

/*==============================*/

.emoji-wheel{

    position:absolute;

    left:50%;

    top:50%;

    width:150px;

    height:150px;

    margin-left:-75px;

    margin-top:-75px;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.25s;

    z-index:90;

}

.emoji-picker:hover .emoji-wheel{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    animation:orbit 10s linear infinite;

}

/*==============================*/

.orbit-emoji{

    position:absolute;

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:21px;

    background:rgba(18,28,45,.94);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    cursor:pointer;

    transition:.22s;

    box-shadow:0 0 14px rgba(0,180,255,.15);

}

.orbit-emoji:hover{

    transform:scale(1.30);

    box-shadow:
        0 0 25px rgba(0,180,255,.55);

}

/*==============================
        PERFECT 360°
==============================*/

.orbit-emoji:nth-child(1){

left:56px;
top:-4px;

}

.orbit-emoji:nth-child(2){

left:98px;
top:10px;

}

.orbit-emoji:nth-child(3){

left:122px;
top:42px;

}

.orbit-emoji:nth-child(4){

left:122px;
top:82px;

}

.orbit-emoji:nth-child(5){

left:98px;
top:116px;

}

.orbit-emoji:nth-child(6){

left:56px;
top:130px;

}

.orbit-emoji:nth-child(7){

left:14px;
top:116px;

}

.orbit-emoji:nth-child(8){

left:-10px;
top:82px;

}

.orbit-emoji:nth-child(9){

left:-10px;
top:42px;

}

.orbit-emoji:nth-child(10){

left:14px;
top:10px;

}

/*==============================*/

@keyframes orbit{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}
/*=====================================================
                COMMUNITY POSTS
======================================================*/

.community-post{

    display:flex;

    align-items:flex-start;

    gap:16px;

    background:#131c33;

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    padding:18px;

    margin-bottom:18px;

}

.post-avatar{

    width:54px;

    height:54px;

    border-radius:50%;

    object-fit:cover;

    cursor:pointer;

    flex-shrink:0;

}

.post-content{

    flex:1;

    min-width:0;

}

.post-header{

    display:grid;

    grid-template-columns:1fr auto;

    column-gap:20px;

    align-items:start;

}

.post-user{

    min-width:0;

}

.post-name{

    font-size:24px;

    font-weight:700;

    color:#fff;

    line-height:1.2;

}

.post-username{

    color:#8d96b8;

    margin-top:3px;

    font-size:15px;

}

.post-time{

    color:#8d96b8;

    font-size:13px;

    white-space:nowrap;

}

.post-message{

    margin-top:12px;

    color:#fff;

    font-size:17px;

    line-height:1.7;

    text-align:left;

    white-space:pre-wrap;

    word-break:break-word;

}

.post-message p{

    margin:0;

    padding:0;

    text-align:left;

}

.post-actions{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:16px;

    width:100%;

}

.post-like,

.post-comment{

    display:flex;

    align-items:center;

    gap:6px;

    color:#9da7c6;

    font-size:15px;

    cursor:pointer;

}

.post-like:hover{

    color:#ff4b67;

}

.post-comment:hover{

    color:#4aa8ff;

}

.comment-modal{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.65);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:9999;

}

.comment-box{

    width:550px;

    max-height:80vh;

    background:#161b22;

    border-radius:16px;

    overflow:hidden;

    display:flex;

    flex-direction:column;

}

.comment-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 20px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.comment-list{

    flex:1;

    overflow-y:auto;

    padding:20px;

}

.comment-input{

    padding:15px;

    border-top:1px solid rgba(255,255,255,.08);

}

.comment-input textarea{

    width:100%;

    height:80px;

    resize:none;

}

.comment-input button{

    margin-top:10px;

}

.comments-list{

    max-height:350px;
    overflow-y:auto;

    margin-bottom:15px;

}

.comment-item{

    display:flex;
    gap:12px;

    padding:12px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.comment-avatar{

    width:42px;
    height:42px;

    border-radius:50%;
    object-fit:cover;

}

.comment-body{

    flex:1;

}

.comment-name{

    font-weight:700;

}

.comment-user{

    font-size:12px;
    opacity:.6;

}

.comment-text{

    margin-top:6px;

}

.comment-time{

    margin-top:5px;

    font-size:11px;
    opacity:.5;

}

#closeCommentModal{

    width:38px;
    height:38px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.08);
    color:#fff;

    font-size:20px;
    cursor:pointer;

    transition:.25s;

}

#closeCommentModal:hover{

    background:#ff4d4f;
    transform:rotate(90deg);

}

#sendComment{

    width:120px;
    height:46px;

    border:none;
    border-radius:12px;

    background:linear-gradient(135deg,#00c6ff,#0072ff);

    color:#fff;

    font-weight:700;
    font-size:15px;

    cursor:pointer;

    transition:.25s;

}

#sendComment:hover{

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,114,255,.35);

}

.comment-input{

    display:flex;
    gap:12px;
    align-items:flex-end;

}

.comment-input textarea{

    flex:1;

    min-height:70px;

}

.chat-input{

    display:flex;
    align-items:flex-end;
    gap:12px;

    margin-top:20px;

}

#chatInput{

    flex:1;

    min-height:52px;
    max-height:120px;

    resize:none;

    padding:14px 18px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;

    background:#111827;

    color:#fff;

    font-size:15px;
    line-height:1.5;

    outline:none;

    transition:.25s;

}

#chatInput:focus{

    border-color:#2f80ff;

    box-shadow:0 0 0 4px rgba(47,128,255,.15);

}

#sendChatBtn{

    width:58px;
    height:58px;

    border:none;
    border-radius:18px;

    background:linear-gradient(135deg,#1d9bf0,#0066ff);

    color:#fff;

    font-size:22px;

    cursor:pointer;

    transition:.25s;

}

#sendChatBtn:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 30px rgba(0,102,255,.35);

}

/*=========================================
            CHAT MESSAGES
=========================================*/

#chatMessages{

    display:flex;

    flex-direction:column;

    gap:12px;

    background:#0f172a;

}

.my-message{

    align-self:flex-end;

    max-width:75%;

    padding:12px 16px;

    background:linear-gradient(135deg,#2563eb,#1d4ed8);

    color:#fff;

    border-radius:18px 18px 4px 18px;

    word-break:break-word;

    box-shadow:0 4px 15px rgba(37,99,235,.25);

}

.other-message{

    align-self:flex-start;

    max-width:75%;

    padding:12px 16px;

    background:#1e293b;

    color:#fff;

    border-radius:18px 18px 18px 4px;

    word-break:break-word;

    border:1px solid rgba(255,255,255,.08);

}

.profile-top{

    position:relative;

}

.profile-notification{

    position:absolute;

    top:0;

    left:0;

    width:42px;

    height:42px;

    border-radius:50%;

    background:#1f7ae0;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    font-size:20px;

    z-index:20;

}

#notificationBadge{

    position:absolute;

    top:-4px;

    right:-4px;

    width:18px;

    height:18px;

    border-radius:50%;

    background:#ff3434;

    color:#fff;

    font-size:11px;

    display:flex;

    align-items:center;

    justify-content:center;

}

/*=====================================================
        NOTIFICATION SETTINGS
======================================================*/

.notification-settings{

    margin-top:18px;

    padding-top:18px;

    border-top:1px solid rgba(255,255,255,.08);

}

.notification-setting-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.notification-setting-row span{

    color:#fff;

    font-size:15px;

    font-weight:600;

}


/*=====================================================
        IOS SWITCH
======================================================*/

.switch{

    position:relative;

    width:54px;

    height:28px;

}

.switch input{

    display:none;

}

.slider{

    position:absolute;

    inset:0;

    background:#4a4a4a;

    border-radius:50px;

    cursor:pointer;

    transition:.25s;

}

.slider:before{

    content:"";

    position:absolute;

    width:22px;

    height:22px;

    left:3px;

    top:3px;

    background:#fff;

    border-radius:50%;

    transition:.25s;

}

.switch input:checked + .slider{

    background:#00c853;

}

.switch input:checked + .slider:before{

    transform:translateX(26px);

}

/*=====================================================
            NOTIFICATION ITEM
======================================================*/

.notification-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:16px;

    padding:14px 16px;

    border-radius:14px;

    cursor:pointer;

    transition:.25s;

}

.notification-item:hover{

    background:rgba(255,255,255,.05);

}

.notification-left{

    display:flex;

    gap:12px;

    align-items:flex-start;

    flex:1;

}

.notification-avatar{

    width:46px;

    height:46px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

    border:2px solid rgba(255,255,255,.08);

}

.notification-info{

    flex:1;

    min-width:0;

}

.notification-name{

    color:#fff;

    font-size:15px;

    font-weight:700;

}

.notification-title{

    color:#b7c3d8;

    margin-top:3px;

    font-size:14px;

}

.notification-time{

    color:#7f8aa4;

    margin-top:6px;

    font-size:12px;

}

.notification-arrow{

    color:#4aa8ff;

    font-size:22px;

    flex-shrink:0;

}

#editProfileModal input,
#editProfileModal textarea{

    width:100%;
    background:#0b1220;
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    padding:14px;
    border-radius:12px;
    margin-top:12px;
    outline:none;
    font-size:15px;
    box-sizing:border-box;

}

#editProfileModal input::placeholder,
#editProfileModal textarea::placeholder{

    color:#8b95b3;

}

#editProfileModal textarea{

    height:120px;
    resize:none;

}

/*====================================
        OPEN / CLOSE EFFECT
====================================*/

.emoji-wheel{

    position:absolute;

    left:50%;

    top:50%;

    width:150px;

    height:150px;

    margin-left:-75px;

    margin-top:-75px;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:translateZ(0) scale(.15);

    transform-origin:center center;

    transition:

        opacity .28s ease,

        transform .28s cubic-bezier(.18,.9,.32,1.2),

        visibility .28s;

    z-index:90;

}
.emoji-picker:hover .emoji-wheel{

    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:translateZ(0) scale(1);

    animation:orbit 10s linear infinite;

}

/*====================================
        PAUSE ON HOVER
====================================*/

.emoji-wheel:hover{

    animation-play-state:paused;

}

/*====================================
        PREMIUM TRANSITIONS
====================================*/

.orbit-emoji{

    transition:

        transform .22s,

        box-shadow .22s,

        background .22s;

}

.orbit-emoji:hover{

    background:#214a7c;

}

/*=====================================================
                    ADMIN CARD
=====================================================*/

.admin-card{

    position:relative;

    width:100%;

    margin-top:18px;

    background:linear-gradient(180deg,#211b49 0%,#181b37 100%);

    border:1px solid rgba(87,108,255,.35);

    border-radius:22px;

    padding:18px;

    box-sizing:border-box;

    overflow:hidden;

    box-shadow:
        0 12px 35px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.05);

}

.admin-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    right:0;

    height:4px;

    background:linear-gradient(90deg,#00e5ff,#5f7cff,#a64dff);

}

.admin-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:18px;

}

.admin-title{

    font-size:28px;

    font-weight:800;

    color:#fff;

    line-height:1.1;

}

.admin-subtitle{

    margin-top:4px;

    font-size:13px;

    color:#97a3d8;

}

.admin-badge{

    padding:6px 14px;

    border-radius:30px;

    background:#6b3cff;

    color:#fff;

    font-size:11px;

    font-weight:700;

    letter-spacing:.5px;

}

.admin-profile{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;

}

.admin-avatar{

    width:72px;

    height:72px;

    border-radius:14px;

    object-fit:cover;

    border:3px solid rgba(255,255,255,.95);

    box-shadow:0 8px 20px rgba(0,0,0,.30);

    flex-shrink:0;

}

.admin-info{

    flex:1;

}

.admin-name{

    font-size:23px;

    font-weight:800;

    color:#fff;

}

.admin-name i{

    margin-left:6px;

    color:#28a8ff;

    font-size:18px;

}

.admin-role{

    margin-top:4px;

    font-size:14px;

    color:#9b74ff;

}

.admin-status{

    margin-top:6px;

    font-size:13px;

    color:#d3dcff;

}

.admin-buttons{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;

}

.admin-buttons a{

    height:42px;

    border-radius:10px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    text-decoration:none;

    color:#fff;

    font-size:14px;

    font-weight:700;

    transition:.25s;

}

.admin-buttons a:hover{

    transform:translateY(-2px);

    filter:brightness(1.08);

}

.admin-buttons a:nth-child(1){

    background:#19c95d;

}

.admin-buttons a:nth-child(2){

    background:#327dff;

}

.admin-buttons a:nth-child(3){

    background:#7d3dff;

}

.admin-buttons a:nth-child(4){

    background:#25a9ff;

}

.admin-buttons a:nth-child(5){

    background:#ff3f88;

}

.admin-buttons a:nth-child(6){

    background:#121212;

}

.admin-profile-btn{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    height:46px;

    margin-top:16px;

    border-radius:12px;

    border:1px solid rgba(120,130,255,.50);

    text-decoration:none;

    color:#dfe7ff;

    font-weight:700;

    transition:.25s;

}

.admin-profile-btn:hover{

    background:#4455ff;

    color:#fff;

}

.admin-buttons a:nth-child(7){

    background:linear-gradient(135deg,#ff3d3d,#d60000);

}

.admin-buttons a:nth-child(8){

    background:linear-gradient(135deg,#2b2b2b,#000000);

}

/*=====================================================
            COMMUNITY GUIDELINES
======================================================*/

.guidelines-card{

    min-height:270px;

}

.guideline-tabs{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:10px;

    margin:18px 0 22px;

}

.guide-tab{

    height:42px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:15px;

    font-weight:700;

    color:#cfd8ff;

    background:rgba(255,255,255,.06);

    transition:.25s;

}

.guide-tab.active{

    background:linear-gradient(135deg,#2b78ff,#7c4dff);

    color:#fff;

}

.guideline-warning{

    padding:16px;

    border-radius:14px;

    background:rgba(255,170,0,.10);

    border:1px solid rgba(255,170,0,.30);

}

.warning-list{

    margin-top:10px;

    padding-left:18px;

    color:#ffd88b;

    line-height:1.9;

}

.guideline-link{

    margin-top:18px;

    text-align:center;

    color:#58a6ff;

    font-weight:700;

    cursor:pointer;

}

.guideline-link:hover{

    color:#fff;

}

#guidelineContent{
    padding:20px;
    overflow-y:auto;
    max-height:70vh;
}

#guidelineContent h3{
    margin-bottom:15px;
    color:#58a6ff;
}

#guidelineContent ul{
    padding-left:20px;
}

#guidelineContent li{
    margin-bottom:14px;
    line-height:1.7;
    color:#ddd;
}

.resources-card{

    max-height:700px;

    overflow-y:auto;

}

.resource-section{

    margin-top:22px;

}

.resource-section h4{

    color:#58a6ff;

    margin-bottom:12px;

    font-size:15px;

}

.resource-link{

    display:block;

    padding:11px 14px;

    margin-bottom:8px;

    border-radius:10px;

    background:rgba(255,255,255,.05);

    color:#d9e4ff;

    text-decoration:none;

    transition:.25s;

    border:1px solid rgba(255,255,255,.05);

}

.resource-link:hover{

    background:linear-gradient(135deg,#2b78ff,#7c4dff);

    color:#fff;

    transform:translateX(6px);

}

.resources-card::-webkit-scrollbar{

    width:6px;

}

.resources-card::-webkit-scrollbar-thumb{

    background:#3b82f6;

    border-radius:20px;

}

