/* =========================
   community - bans
========================= */

#bans-page{
    width:100%;
}
.bans-box{
    max-width:1000px;
    margin:auto;
    padding:20px;
    border-radius:6px;
    background:#2a1e12;
    border:1px solid rgba(255,180,80,0.25);
    box-shadow:
        inset 0 0 20px rgba(0,0,0,0.4),
        0 0 25px rgba(0,0,0,0.4);
}
.bans-box h1{
    text-align:center;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    margin-bottom:20px;
}
.bans-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid rgba(255,180,80,0.15);
}
.bans-table th{
    background:#1f150b;
    color:#ffd27a;
    padding:9px 10px;
    border-bottom:1px solid rgba(255,180,90,0.2);
    text-align:center;
}
.bans-table td{
    background:#2a1e12;
    border-bottom:1px solid rgba(255,170,80,0.1);
    padding:8px;
    color:#e6d2a2;
    text-align:center;
    transition:background 0.15s ease;
}
.bans-table tr:nth-child(even) td{
    background:#24180d;
}

.bans-table tr:nth-child(odd) td{
    background:#2a1e12;
}
.bans-table tr:hover td{
    background:#3a2816 !important;
}
.bans-player{
    font-weight:bold;
    color:#ffd27a;
}
.bans-pagination{
    margin-top:20px;
    text-align:right;
}
.bans-pagination a{
    color:#ffd27a;
    text-decoration:none;
    margin-left:12px;
}
.bans-pagination a:hover{
    color:#ffffff;
    text-shadow:0 0 6px rgba(255,200,120,0.6);
}

/* =========================
   community - characters
========================= */

.character-panel{
    position:relative;
    max-width:900px;
    margin:auto;
    padding:0;
    background:linear-gradient(
        180deg,
        rgba(45,33,20,0.95),
        rgba(35,25,15,0.95)
    );
    border:1px solid rgba(255,180,80,0.2);
    border-radius:6px;
    box-shadow:
        inset 0 0 20px rgba(0,0,0,0.4),
        0 0 25px rgba(0,0,0,0.4);
}
.character-panel > table{
    width:100%;
}
.character-panel table{
    border-collapse:collapse;
}
.character-panel tr[bgcolor="{{ config.vdarkborder }}"] td{
    padding:8px;
    background:rgba(20,15,10,0.9);
    color:#ffd27a;
    font-size:16px;
    font-weight:700;
    border-bottom:1px solid rgba(255,180,80,0.2);
}
.character-panel td{
    padding:10px;
    color:#e6d2a2;
    background:#2a1e12;
    border-bottom:1px solid rgba(255,180,80,0.15);

    transition:background 0.18s ease;
}
.character-panel tr:nth-child(even) td{
    background:#24180d;
}
#signLinks tr:nth-child(even) td{
    background:none !important;
}
.character-panel > table > tbody > tr > td > table > tbody > tr:not([bgcolor]):hover > td{
    background:#3a2816 !important;
}
.character-panel a{
    color:#ffd27a;
    font-weight:500;
    text-decoration:none;
}
.character-panel a:hover{
    color:#ffffff;
}
.character-panel table table td{
    background:#2a1e12;
}
.character-panel table table tr:nth-child(even) td{
    background:#24180d;
}
.character-panel input{
    background:#1b140d;
    border:1px solid rgba(255,180,80,0.3);
    color:#ffd27a;
    padding:6px;
}
.character-panel .white{
    font-family:'Cinzel', serif;
    color:#ffd27a;
    font-size:18px;
}
.character-outfit{
    position:absolute;
    right:25px;
    top:25px;
    width:64px;
    height:64px;
    border:2px solid #F1E0C6;
    border-radius:50%;
    padding:12px;
    background:rgba(0,0,0,0.35);
    box-shadow:
        inset 0 0 8px rgba(0,0,0,0.6),
        0 0 10px rgba(255,200,120,0.3);
}
.character-panel tr[bgcolor] td{
    background:#2a1e12 !important;
}
.character-panel tr:nth-child(even)[bgcolor] td{
    background:#24180d !important;
}
.character-panel table table table{
    margin:auto;
    padding:10px;
    background:linear-gradient(
        180deg,
        #2b1c10,
        #1a1109
    ) !important;
    border:1px solid rgba(255,200,120,0.25) !important;
    box-shadow:
        inset 0 0 15px rgba(0,0,0,0.7),
        0 0 10px rgba(0,0,0,0.4);
}
.character-panel td[valign="top"] table{
    width:auto !important;
}
.character-panel td[valign="top"] table table{
    width:auto !important;
}
.character-panel table table table{
    padding:6px !important;
}

/* =========================
   community - characters - searching
========================= */

.search-wrapper {
    max-width: 600px;
    margin: 40px auto;
}
.search-box {
    background: linear-gradient(
        180deg,
        rgba(30,18,10,0.97),
        rgba(15,8,4,0.97)
    );
    border: 1px solid rgba(255,170,80,0.35);
    border-radius: 10px;
    padding: 25px 30px;
    box-shadow:
        0 0 25px rgba(0,0,0,0.8),
        inset 0 0 15px rgba(255,140,0,0.08);
}
.search-title {
    font-family: 'Cinzel', serif;
    font-size: 20px;
    margin-bottom: 20px;
    color: #ffd27a;
    text-align: center;
    text-shadow: 0 0 8px rgba(255,180,60,0.6);
}
.search-row {
    display: flex;
    gap: 15px;
    align-items: center;
}
.search-row input[name="name"] {
    flex: 1;
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(255,170,80,0.4);
    color: #ffd27a;
    padding: 10px;
    border-radius: 6px;
    font-size: 14px;
}
.search-row input[name="name"]:focus {
    outline: none;
    box-shadow: 0 0 12px rgba(255,140,0,0.6);
}
.search-row input[type="submit"] {
    padding: 10px 25px;
    border-radius: 6px;
}


/* =========================
   community - highscores
========================= */

#highscores-page{
    width:100%;
}
.highscores-box{
    max-width:1000px;
    margin:auto;
    padding:20px;
    border-radius:6px;
    background:#2a1e12;
    border:1px solid rgba(255,180,80,0.25);
    box-shadow:
        inset 0 0 20px rgba(0,0,0,0.4),
        0 0 25px rgba(0,0,0,0.4);
}
.highscores-title{
    text-align:center;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    margin-bottom:25px;
}
.highscores-filters{
    display:flex;
    justify-content:center;
    gap:40px;
    margin-bottom:25px;
}
.filter-box{
    display:flex;
    flex-direction:column;
}
.filter-box label{
    color:#ffd27a;
    font-weight:bold;
    margin-bottom:6px;
}
.highscores-filters select{
    background:#24180d;
    color:#ffd27a;
    border:1px solid rgba(255,180,80,0.25);
    padding:6px 10px;
}
.highscores-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid rgba(255,180,80,0.15);
}
.highscores-table th{
    background:#1f150b;
    color:#ffd27a;
    padding:9px 10px;
    border-bottom:1px solid rgba(255,180,90,0.2);
}
.highscores-table td{
    background:#2a1e12;
    border-bottom:1px solid rgba(255,170,80,0.1);
    padding:8px;
    color:#e6d2a2;
    transition:background 0.15s ease;
}
.highscores-table tr:nth-child(even) td{
    background:#24180d;
}
.highscores-table tr:nth-child(odd) td{
    background:#2a1e12;
}
.highscores-table tr:hover td{
    background:#3a2816 !important;
}
.highscores-rank{
    text-align:center;
    color:#ffcf80;
    font-weight:bold;
}
.highscores-player a{
    color:#ffd27a;
    font-weight:600;
    text-decoration:none;
}
.highscores-player a:hover{
    color:#ffffff;
    text-shadow:0 0 6px rgba(255,200,120,0.6);
}
.highscores-online{
    color:#00ff88;
}

.highscores-offline{
    color:#ff5555;
}
.highscores-pagination{
    margin-top:20px;
    text-align:right;
}
.highscores-pagination a{
    color:#ffd27a;
    margin-left:12px;
    text-decoration:none;
}
.highscores-pagination a:hover{
    color:#ffffff;
    text-shadow:0 0 6px rgba(255,200,120,0.6);
}

/* =========================
   community - team
========================= */

.team-box{
    max-width:1000px;
    margin:auto;
    padding:20px;
    border-radius:6px;
    background:#2a1e12;
    border:1px solid rgba(255,180,80,0.25);
    box-shadow:
        inset 0 0 20px rgba(0,0,0,0.4),
        0 0 25px rgba(0,0,0,0.4);
}
.team-title{
    text-align:center;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    margin-bottom:20px;
}
.team-table{
    width:100%;
    border-collapse:collapse;
}
.team-box .team-table th{
    background:#1f150b;
    color:#ffd27a;
    padding:9px 10px;
    border-bottom:1px solid rgba(255,180,90,0.2);
}
.team-box .team-table td{
    background:#2a1e12;
    border-bottom:1px solid rgba(255,170,80,0.1);
    padding:8px;
    color:#e6d2a2;
    transition:background 0.15s ease, box-shadow 0.15s ease;
}
.team-box .team-table tr:hover td{
    background:#3a2816 !important;
}
.team-box .team-table tr:nth-child(even) td{
    background:#24180d;
}
.team-box .team-table tr:nth-child(odd) td{
    background:#2a1e12;
}
.team-table tr{
    transition:background 0.15s ease;
}
.team-name a{
    color:#ffd27a;
    font-weight:600;
    text-decoration:none;
}
.team-name a:hover{
    color:#fff;
    text-shadow:0 0 6px rgba(255,200,120,0.6);
}
.team-group-title{
    margin-top:30px;
    margin-bottom:10px;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-align:center;
}
.team-outfit{
    text-align:center;
}
.team-outfit img{
    height:64px;
}
.team-online{
    color:#00ff88;
    font-weight:bold;
    text-shadow:0 0 6px rgba(0,255,150,0.6);
}
.team-offline{
    color:#ff5555;
    font-weight:bold;
    opacity:0.7;
}
.team-box .team-table td{
    vertical-align:middle;
}
.team-count{
    color:#ffcc66;
    font-size:14px;
    opacity:0.8;
}
.team-outfit img{
    height:64px;
    transition:transform 0.15s ease;
}
.team-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid rgba(255,180,80,0.15);
}
.team-table tr:hover .team-outfit img{
    transform:scale(1.05);
}

/* =========================
   community - online
========================= */

.search-box{
    box-sizing:border-box;
    padding:18px;
    border-radius:4px;
    background:#2a1e12;
    border:1px solid rgba(255,180,90,0.15);
    box-shadow:inset 0 0 25px rgba(0,0,0,0.4);
    margin-top:20px;
}
.search-title{
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    margin-bottom:12px;
}
.search-form{
    display:flex;
    gap:10px;
}
.search-input{
    flex:1;
    padding:8px 10px;
    background:rgba(30,22,14,0.8);
    border:1px solid rgba(255,170,80,0.25);
    border-radius:3px;
    color:#f3e2b8;
    font-size:14px;
}
.search-input:focus{
    outline:none;
    border-color:#ffb347;
}
.search-button{
    padding:8px 18px;
    background:linear-gradient(
        180deg,
        #ffb347,
        #d88a2b
    );
    border:none;
    border-radius:3px;
    color:#2b1b0d;
    font-weight:bold;
    cursor:pointer;
}
.search-button:hover{
    background:linear-gradient(
        180deg,
        #ffc96b,
        #e69b3c
    );
}

.online-box{
    max-width:1000px;
    margin:auto;
    padding:20px;
    border-radius:6px;
    background:#2a1e12;
    border:1px solid rgba(255,180,80,0.25);
    box-shadow:
        inset 0 0 20px rgba(0,0,0,0.4),
        0 0 25px rgba(0,0,0,0.4);
}
.online-info{
    text-align:center;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    padding:10px 12px;
    background:#1f150b;
    border:1px solid rgba(255,180,80,0.15);
    border-radius:4px;
}
.online-title{
    text-align:center;
    font-family:'Cinzel', serif;
    color:#e8c078;
    text-shadow:1px 1px 0 #000;
    margin-bottom:20px;
    padding:10px 12px;
    background:#1f150b;
    border:1px solid rgba(255,180,80,0.15);
    border-radius:4px;
}
.online-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid rgba(255,180,80,0.15);
}
.online-table th{
    background:#1f150b;
    color:#ffd27a;
    padding:9px 10px;
    border-bottom:1px solid rgba(255,180,90,0.2);
}
.online-table td{
    background:#2a1e12;
    border-bottom:1px solid rgba(255,170,80,0.1);
    padding:8px;
    color:#e6d2a2;
    vertical-align:middle;
    transition:background 0.15s ease;
}
.online-table tr:nth-child(even) td{
    background:#24180d;
}
.online-table tr:nth-child(odd) td{
    background:#2a1e12;
}
.online-table tr:hover td{
    background:#3a2816 !important;
}
.online-player a{
    color:#ffd27a;
    font-weight:600;
    text-decoration:none;
}
.online-player a:hover{
    color:#fff;
    text-shadow:0 0 6px rgba(255,200,120,0.6);
}
.online-table th a{
    color:#ffb347;
    text-decoration:none;
}
.online-table th a:hover{
    color:#ffd27a;
}
.online-table th a.active-sort{
    color:#ffd27a;
}
.online-table th a.active-sort::after{
    content:" ▲";
}
.online-table img{
    height:64px;
    display:block;
    margin:auto;
    transition:transform 0.15s ease;
}
.online-table tr:hover img{
    transform:scale(1.05);
}
.online-table td:first-child img{
    height:16px;
    width:auto;
    vertical-align:middle;
}