/* 
 * Leaderboard Styles
 * @since 1.3.0 
 */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@600;700&display=swap');

/* Main Wrapper & Layout */
.cyber-leaderboard-wrapper {
    /* Base Styles */
    background: linear-gradient(135deg, var(--lb-bg-start, #0a1e3c) 0%, var(--lb-bg-end, #0f284b) 100%) !important;
    border: 2px solid var(--lb-primary);
    box-shadow: 0 0 30px rgba(var(--lb-primary-rgb), 0.2);
    color: var(--lb-text) !important;
    font-family: 'Rajdhani', sans-serif;
    backdrop-filter: blur(10px);

    /* Fluid Layout */
    width: 100% !important;
    margin: 0 auto clamp(15px, 4vw, 40px) auto;
    padding: clamp(12px, 2vw, 20px);
    border-radius: 10px;
    /* Set to 10px as requested */
}

/* Header Section */
.cyber-leaderboard-header {
    border-bottom: 1px solid rgba(var(--lb-primary-rgb), 0.3) !important;
    text-align: center;
    margin-bottom: clamp(15px, 3vh, 20px);
    padding-bottom: clamp(12px, 2vh, 20px);
}

.cyber-glitch-title {
    color: var(--lb-primary) !important;
    font-size: clamp(1.5rem, 5vw, 2.5rem);
    letter-spacing: clamp(1px, 0.5vw, 4px);
    margin: 0 0 20px 0;
}

.cyber-subtitle {
    color: #8fa3b8;
    letter-spacing: clamp(1px, 0.2vw, 2px);
    font-size: clamp(0.9rem, 3vw, 1.2rem);
    text-align: center;
    font-weight: bold;
}

/* Tabs System */
.cyber-tabs {
    display: flex;
    justify-content: center;
    gap: clamp(8px, 2vw, 15px);
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.cyber-tab {
    background: rgba(var(--lb-primary-rgb), 0.1) !important;
    border: 1px solid var(--lb-primary) !important;
    color: var(--lb-primary) !important;

    padding: clamp(6px, 1.5vw, 10px) clamp(12px, 3vw, 25px);
    font-size: clamp(0.8rem, 2.5vw, 1.1rem);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    clip-path: polygon(10% 0, 100% 0, 100% 80%, 90% 100%, 0 100%, 0 20%);
}

.cyber-tab:hover {
    background: rgba(var(--lb-primary-rgb), 0.3) !important;
    text-shadow: 0 0 8px rgba(var(--lb-primary-rgb), 0.8) !important;
}

.cyber-tab.active {
    background: var(--lb-primary) !important;
    color: var(--lb-btn-text) !important;
    box-shadow: 0 0 15px rgba(var(--lb-primary-rgb), 0.5) !important;
}

/* Tab Content Animation */
.cyber-tab-content {
    display: none;
    animation: fadeIn 0.5s ease;
}

.cyber-tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Table Layout */
.cyber-table-container {
    overflow-x: auto;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE */
}

.cyber-table-container::-webkit-scrollbar {
    display: none;
}

.cyber-table-container table.cyber-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 clamp(5px, 1vh, 10px) !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cyber-table-container table.cyber-table thead tr,
.cyber-table-container table.cyber-table thead th,
.cyber-table-container table.cyber-table tbody tr,
.cyber-table-container table.cyber-table tbody td {
    border: none !important;
    box-shadow: none !important;
}

.cyber-table th {
    color: var(--lb-primary) !important;
    border-bottom: 1px solid rgba(var(--lb-primary-rgb), 0.2) !important;
    padding: clamp(8px, 1.5vw, 15px) !important;
    font-size: clamp(0.7rem, 2vw, 1rem) !important;
    text-align: left !important;
    letter-spacing: clamp(0.5px, 0.1vw, 2px) !important;
    vertical-align: middle !important;
}

.cyber-table td {
    padding: clamp(8px, 1.5vw, 15px) !important;
    font-size: clamp(0.8rem, 2.5vw, 1rem) !important;
    vertical-align: middle !important;
    color: var(--lb-text) !important;
}

/* Table Rows */
.cyber-table tbody tr {
    background: rgba(var(--lb-primary-rgb, 0, 243, 255), 0.05) !important;
    transition: all 0.3s ease !important;
}

.cyber-table tbody tr:hover {
    background: rgba(var(--lb-primary-rgb, 0, 243, 255), 0.15) !important;
    transform: scale(1.01) !important;
}

/* Current User Highlight */
.cyber-table tbody tr.current-user-highlight {
    background: rgba(var(--lb-primary-rgb, 0, 243, 255), 0.2) !important;
    border-left: 3px solid var(--lb-primary);
    box-shadow: 0 0 20px rgba(var(--lb-primary-rgb, 0, 243, 255), 0.2) !important;
    transform: scale(1.02);
    z-index: 10;
    position: relative;
    font-weight: bold;
}

.cyber-table tbody tr.current-user-highlight td {
    color: #fff;
}

.cyber-table tbody tr.current-user-highlight .rank-badge {
    background: var(--lb-primary) !important;
    color: var(--lb-btn-text) !important;
    box-shadow: 0 0 10px rgba(var(--lb-primary-rgb), 0.8) !important;
    border-color: #fff;
}

/* Utility Components */
.aml-leaderboard-empty-cyber {
    border: 1px dashed var(--lb-primary);
    color: var(--lb-primary) !important;
    text-align: center;
    padding: 40px;
    background: rgba(8, 20, 40, 0.8);
    border-radius: 10px;
}

.rank-badge {
    display: inline-block;
    padding: clamp(3px, 0.5vw, 5px) clamp(6px, 1vw, 12px);
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    font-weight: bold;
    font-size: clamp(0.75rem, 2vw, 1rem);
}

/* Rank Colors */
.pos-1 {
    border-color: #ffd700;
    color: #ffd700;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
}

.pos-2 {
    border-color: #c0c0c0;
    color: #c0c0c0;
}

.pos-3 {
    border-color: #cd7f32;
    color: #cd7f32;
}

/* Text Utils */
.agent-name,
.region-code {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.agent-name {
    font-size: clamp(0.9rem, 3vw, 1.2rem);
    font-weight: bold;
    max-width: 25ch;
}

.region-code {
    max-width: 15ch;
    font-size: clamp(0.75rem, 2vw, 1rem);
}

.credits-total {
    color: #00ff44;
    font-weight: bold;
    font-size: clamp(1rem, 3vw, 1.3rem);
}

.uplink-timer {
    color: #ffd700;
    font-size: clamp(0.75rem, 2vw, 1rem);
}

.cyber-separator td {
    padding: 5px !important;
    background: transparent !important;
    font-size: 1.5rem;
}

/* Mobile Responsiveness */
@media (max-width: 391px) {
    .cyber-tab {
        flex: 0 0 auto;
    }

    .cyber-time,
    .cyber-country {
        display: none;
    }

    .agent-name {
        max-width: 15ch;
    }
}