:root {

    --bg-color: #f0f2f6;

    --glass-bg: rgba(255, 255, 255, 0.45);

    --glass-border: rgba(255, 255, 255, 0.6);

    --glass-shadow: 0 8px 32px 0 rgba(124, 58, 237, 0.08);

    --info-bg: rgba(245, 243, 255, 0.85);

    --text-primary: #1e1b2e;

    --text-secondary: #6b6680;

    --accent-purple: #7c3aed;

    --accent-light: rgba(124, 58, 237, 0.08);

    --border-color: rgba(229, 231, 235, 0.8);

    --hover-glow: 0 12px 28px -4px rgba(124, 58, 237, 0.25);

    --tier-gold: #f59e0b;

    --danger: #ef4444;

    --success: #10b981;

}



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: 'Plus Jakarta Sans', sans-serif;

}



body {

    background-color: var(--bg-color);

    background-image: 

        radial-gradient(at 0% 0%, rgba(124, 58, 237, 0.08) 0px, transparent 50%),

        radial-gradient(at 100% 100%, rgba(147, 51, 234, 0.08) 0px, transparent 50%);

    background-attachment: fixed;

    color: var(--text-primary);

    display: flex;

    flex-direction: column;

    min-height: 100vh;

}



.main-wrapper {

    flex: 1;

    display: flex;

    flex-direction: column;

    min-height: 100vh;

    width: 100%;

}



header {

    width: 100%;

    padding: 16px 48px;

    background: rgba(255, 255, 255, 0.85);

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

    border-bottom: 1px solid var(--border-color);

    display: flex;

    justify-content: space-between;

    align-items: center;

    position: sticky;

    top: 0;

    z-index: 1000;

}



.header-brand {

    display: flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;

}



.brand-logo-img {

    width: 38px;

    height: 38px;

    object-fit: cover;

    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.2);

    border: 1px solid var(--border-color);

}



.header-title {

    font-size: 1.25rem;

    font-weight: 800;

    color: var(--text-primary);

    letter-spacing: -0.5px;

}



.top-nav {

    display: flex;

    gap: 12px;

    align-items: center;

}



.top-nav a {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 18px;

    color: var(--text-secondary);

    text-decoration: none;

    font-weight: 600;

    font-size: 0.9rem;

    border: 1px solid transparent;

    transition: all 0.25s ease;

}



.top-nav a:hover {

    background-color: var(--accent-light);

    color: var(--accent-purple);

    border-color: rgba(124, 58, 237, 0.2);

}



.top-nav a.active {

    background-color: var(--accent-purple);

    color: #ffffff;

    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3);

}



.container {

    max-width: 1140px;

    margin: 40px auto;

    padding: 0 24px;

    flex: 1;

    width: 100%;

}



.section-title {

    font-size: 1.5rem;

    font-weight: 800;

    margin-bottom: 24px;

    color: var(--text-primary);

    display: flex;

    align-items: center;

    gap: 12px;

}



.section-title i {

    color: var(--accent-purple);

}



.grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 28px;

    margin-bottom: 40px;

}



.team-card {

    border: 1px solid var(--glass-border);

    box-shadow: var(--glass-shadow);

    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

    display: flex;

    flex-direction: column;

    text-decoration: none;

    color: inherit;

    cursor: pointer;

    overflow: hidden;

}



.team-card:hover {

    transform: translateY(-8px);

    border-color: rgba(124, 58, 237, 0.4);

    box-shadow: var(--hover-glow);

}



.skin-glass-area {

    background: var(--glass-bg);

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

    padding: 30px 20px;

    display: flex;

    justify-content: center;

    align-items: center;

    border-bottom: 1px solid var(--border-color);

    position: relative;

}



.skin-container {

    height: 190px;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: transform 0.3s ease;

}



.team-card:hover .skin-container {

    transform: scale(1.08);

}



.skin-container img {

    height: 100%;

    object-fit: contain;

    transition: opacity 0.3s ease;

}



.info-purple-area {

    background: var(--info-bg);

    padding: 24px 20px;

    flex: 1;

    display: flex;

    flex-direction: column;

    text-align: center;

    align-items: center;

}



.info-purple-area h3 {

    font-size: 1.3rem;

    font-weight: 800;

    margin-bottom: 6px;

    color: var(--text-primary);

}



.info-purple-area .tier-tag {

    font-size: 0.75rem;

    font-weight: 800;

    color: var(--tier-gold);

    background: rgba(245, 158, 11, 0.1);

    border: 1px solid rgba(245, 158, 11, 0.3);

    padding: 2px 10px;

    margin-bottom: 12px;

    text-transform: uppercase;

}



.info-purple-area p {

    font-size: 0.9rem;

    color: var(--text-secondary);

    line-height: 1.5;

    margin-bottom: 16px;

}



.role-badge {

    margin-top: auto;

    display: inline-block;

    border: 1px solid var(--border-color);

    padding: 4px 12px;

    font-size: 0.75rem;

    font-weight: 800;

    background: #ffffff;

    color: var(--accent-purple);

    letter-spacing: 0.5px;

}



/* Detail View Layout */

.back-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    text-decoration: none;

    color: var(--accent-purple);

    font-weight: 700;

    margin-bottom: 24px;

}



.detail-layout {

    display: grid;

    grid-template-columns: 320px 1fr;

    gap: 32px;

    background: var(--glass-bg);

    backdrop-filter: blur(12px);

    border: 1px solid var(--glass-border);

    padding: 40px;

    box-shadow: var(--glass-shadow);

}



.detail-sidebar {

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    border-right: 1px solid var(--border-color);

    padding-right: 32px;

}



.detail-content h1 {

    font-size: 2.2rem;

    font-weight: 800;

    margin-bottom: 8px;

}



.detail-content .ign-sub {

    font-size: 1rem;

    color: var(--text-secondary);

    margin-bottom: 24px;

    font-weight: 600;

}



.detail-section {

    margin-bottom: 24px;

}



.detail-section h4 {

    font-size: 0.9rem;

    text-transform: uppercase;

    color: var(--accent-purple);

    margin-bottom: 8px;

    font-weight: 800;

}



.detail-section p {

    line-height: 1.7;

    color: var(--text-secondary);

}



/* Admin Styling & Head Preview Input */

.admin-login-box, .admin-panel {

    background: var(--glass-bg);

    backdrop-filter: blur(12px);

    border: 1px solid var(--glass-border);

    padding: 40px;

    box-shadow: var(--glass-shadow);

    max-width: 500px;

    margin: 60px auto;

}



.admin-panel {

    max-width: 900px;

}



.form-group {

    margin-bottom: 20px;

}



.form-group label {

    display: block;

    font-size: 0.85rem;

    font-weight: 700;

    margin-bottom: 8px;

}



.form-group input, .form-group textarea {

    width: 100%;

    padding: 12px 16px;

    border: 1px solid var(--border-color);

    background: #ffffff;

    font-size: 0.95rem;

    outline: none;

    transition: border-color 0.2s ease, box-shadow 0.2s ease;

}



.form-group input:focus, .form-group textarea:focus {

    border-color: var(--accent-purple);

    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);

}



.ign-input-wrapper {

    position: relative;

    display: flex;

    align-items: center;

}



.ign-head-preview {

    position: absolute;

    left: 10px;

    width: 28px;

    height: 28px;

    border-radius: 4px;

    object-fit: cover;

    background: rgba(124, 58, 237, 0.1);

    border: 1px solid var(--border-color);

    display: none;

}



.ign-input-wrapper input {

    padding-left: 48px;

}



/* Admin Action Buttons & Table CSS */

.btn-primary {

    background: var(--accent-purple);

    color: #ffffff;

    border: none;

    padding: 12px 24px;

    font-weight: 700;

    cursor: pointer;

    width: 100%;

    transition: background 0.2s ease, transform 0.1s ease;

}



.btn-primary:hover {

    background: #6d28d9;

}



.btn-edit {

    background: var(--accent-purple);

    color: #ffffff;

    border: none;

    padding: 8px 16px;

    font-size: 0.8rem;

    font-weight: 700;

    cursor: pointer;

    margin-right: 8px;

    border-radius: 4px;

    transition: all 0.2s ease;

}



.btn-edit:hover {

    background: #6d28d9;

    box-shadow: 0 4px 12px rgba(124, 58, 237, 0.3);

}



.btn-danger {

    background: var(--danger);

    color: #ffffff;

    border: none;

    padding: 8px 16px;

    font-size: 0.8rem;

    font-weight: 700;

    cursor: pointer;

    border-radius: 4px;

    transition: all 0.2s ease;

}



.btn-danger:hover {

    background: #dc2626;

    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);

}



.admin-table {

    width: 100%;

    border-collapse: collapse;

    margin-top: 24px;

    background: #ffffff;

    border: 1px solid var(--border-color);

}



.admin-table th {

    background: rgba(245, 243, 255, 0.85);

    color: var(--text-primary);

    font-weight: 800;

    text-transform: uppercase;

    font-size: 0.75rem;

    letter-spacing: 0.5px;

    padding: 16px;

    border-bottom: 2px solid var(--border-color);

}



.admin-table td {

    padding: 16px;

    text-align: left;

    border-bottom: 1px solid var(--border-color);

    font-size: 0.9rem;

}



.admin-table tr:hover {

    background: rgba(124, 58, 237, 0.02);

}



/* Modern Glowing Lock / Verification Overlay */

.auth-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100vw;

    height: 100vh;

    background: rgba(15, 23, 42, 0.75);

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

    display: flex;

    justify-content: center;

    align-items: center;

    z-index: 9999;

    opacity: 0;

    visibility: hidden;

    transition: opacity 0.3s ease, visibility 0.3s ease;

}



.auth-overlay.active {

    opacity: 1;

    visibility: visible;

}



.auth-modal {

    background: rgba(255, 255, 255, 0.95);

    padding: 40px 52px;

    border-radius: 20px;

    text-align: center;

    border: 1px solid rgba(255, 255, 255, 0.8);

    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 40px rgba(16, 185, 129, 0.2);

    transform: scale(0.85) translateY(20px);

    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

}



.auth-overlay.active .auth-modal {

    transform: scale(1) translateY(0);

}



.checkmark-circle {

    width: 80px;

    height: 80px;

    background: rgba(16, 185, 129, 0.12);

    border: 2px solid var(--success);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px auto;

    position: relative;

    box-shadow: 0 0 20px rgba(16, 185, 129, 0.3);

}



.checkmark-circle i {

    font-size: 2.5rem;

    color: var(--success);

    animation: pulseCheck 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;

}



@keyframes pulseCheck {

    0% { transform: scale(0) rotate(-45deg); opacity: 0; }

    70% { transform: scale(1.2) rotate(0deg); }

    100% { transform: scale(1) rotate(0deg); opacity: 1; }

}



footer {

    background: rgba(255, 255, 255, 0.85);

    backdrop-filter: blur(12px);

    -webkit-backdrop-filter: blur(12px);

    border-top: 1px solid var(--border-color);

    padding: 32px 48px;

    margin-top: auto;

}



.footer-content {

    max-width: 1140px;

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

}



.footer-left {

    font-size: 0.85rem;

    color: var(--text-secondary);

}



.footer-links a {

    color: var(--text-secondary);

    text-decoration: none;

    margin-left: 20px;

    font-size: 0.85rem;

    font-weight: 500;

}