body {
    background-color: #1a1a1a;
    color: #e0e0e0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.navbar {
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.card {
    background-color: #2a2a2a;
    border: 1px solid #3a3a3a;
    color: #e0e0e0;
    margin-bottom: 1rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.card-header {
    border-bottom: 2px solid rgba(255,255,255,0.1);
}

.table {
    color: #e0e0e0;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255,255,255,0.05);
}

.table-striped tbody tr:hover {
    background-color: rgba(255,255,255,0.08);
}

a {
    color: #4a9eff;
    text-decoration: none;
}

a:hover {
    color: #6bb3ff;
    text-decoration: underline;
}

.bg-dark {
    background-color: #1f1f1f !important;
}

.card.bg-dark {
    border-color: #4a4a4a;
}

.text-muted {
    color: #888 !important;
}

/* Minecraft-style colors for zones/levels */
.zone-1 { color: #55ff55; }
.zone-10 { color: #55ff55; }
.zone-20 { color: #ffff55; }
.zone-30 { color: #ffaa00; }
.zone-40 { color: #55ffff; }
.zone-50 { color: #aa00aa; } /* Core */

/* Status badges */
.badge {
    font-size: 0.9em;
    padding: 0.4em 0.8em;
}

/* Responsive improvements */
@media (max-width: 768px) {
    .card-body {
        padding: 0.75rem;
    }

    h2, .h2 {
        font-size: 1.3rem;
    }

    h4, .h4, h5, .h5 {
        font-size: 1.1rem;
    }

    .table {
        font-size: 0.85rem;
    }

    .table th,
    .table td {
        padding: 0.5rem 0.25rem;
    }

    /* Stack navbar items on mobile */
    .navbar-brand {
        font-size: 1rem;
    }

    /* Make search smaller on mobile */
    .navbar .position-relative {
        width: 200px !important;
    }

    /* Hide "Last Updated" text on very small screens */
    #last-update {
        font-size: 0.75rem;
    }

    /* Make stats cards stack better */
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    /* Reduce margins on mobile */
    .mt-4 {
        margin-top: 1rem !important;
    }

    .mb-4 {
        margin-bottom: 1rem !important;
    }

    /* Make table responsive with horizontal scroll */
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Smaller badges and buttons */
    .badge {
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
    }

    .btn-sm {
        font-size: 0.8rem;
        padding: 0.25rem 0.5rem;
    }

    /* Smaller player heads on mobile */
    img[alt="Player Head"],
    .player-head {
        width: 24px;
        height: 24px;
    }

    /* Make logo smaller on mobile */
    .navbar img[alt="CoreJourney"] {
        width: 32px !important;
        height: 32px !important;
        margin-right: 5px !important;
    }
}

@media (max-width: 576px) {
    /* Even smaller on very small screens */
    .navbar-brand {
        font-size: 0.9rem;
    }

    .navbar .position-relative {
        width: 150px !important;
    }

    #last-update {
        display: none;
    }

    h2, .h2 {
        font-size: 1.2rem;
    }

    .table {
        font-size: 0.75rem;
    }

    /* Hide less important columns on mobile */
    .hide-mobile {
        display: none;
    }

    /* Stack cards single column on small mobile */
    .col-md-6,
    .col-md-4,
    .col-md-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Loading states */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Player head images */
img[alt="Player Head"],
.player-head {
    border-radius: 4px;
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
    width: 32px;
    height: 32px;
}
