/* ==========================================================================
   Variables
   ========================================================================== */
   :root {
    /* Colors */
    --dark-bg: #121212;
    --dark-surface: #1e1e1e;
    --dark-text: #ffffff;
    --dark-secondary: #b3b3b3;
    
    /* Grayscale palette */
    --gray-100: #f5f5f5;
    --gray-200: #e5e5e5;
    --gray-300: #d4d4d4;
    --gray-400: #a3a3a3;
    --gray-500: #737373;
    --gray-600: #525252;
    --gray-700: #404040;
    --gray-800: #262626;
    --gray-900: #171717;
    
    /* UI colors */
    --button-bg: var(--gray-700);
    --button-hover: var(--gray-600);
    --hero-gradient-start: var(--gray-900);
    --hero-gradient-end: var(--gray-700);
}

/* ==========================================================================
   Global Styles
   ========================================================================== */
body {
    background-color: var(--dark-bg);
    color: var(--dark-text);
}

/* Navigation Styles */
.navbar-inverse {
    background-color: var(--gray-900);
    border-color: var(--gray-800);
}

.dropdown-menu {
    background-color: var(--gray-800);
}

.dropdown-menu > li > a {
    color: var(--gray-100);
}

.dropdown-menu > li > a:hover {
    background-color: var(--gray-700);
    color: var(--gray-100);
}

/* ==========================================================================
   Common Components
   ========================================================================== */
.btn-primary {
    background-color: var(--button-bg);
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    transition: all 0.2s ease;
    color: var(--gray-100);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-primary:hover {
    background-color: var(--button-hover);
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* ==========================================================================
   Standard Score Tables
   ========================================================================== */
/* Score tables styling */
.table {
    background-color: var(--gray-800);
    color: var(--gray-300);
    border-radius: 8px;
    overflow: hidden;
}

.table thead th {
    background-color: var(--gray-700);
    color: var(--gray-200);
    border-bottom: 2px solid var(--gray-600);
    text-align: center;
}

.table tbody td {
    border-top: 1px solid var(--gray-700);
    padding: 8px;
}

/* Side panel layout */
.side-panel {
    padding: 0 15px;
}

/* Game layout structure */
.game-container {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.game-sidebar {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 15px;
    margin-bottom: 20px;
}

.game-content {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 15px;
    margin-bottom: 20px;
}

/* ==========================================================================
   Home Page
   ========================================================================== */
/* Hero Section */
.hero-section {
    padding: 60px 0;
    margin-bottom: 40px;
    background: linear-gradient(45deg, var(--hero-gradient-start), var(--hero-gradient-end));
    color: var(--gray-100);
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.hero-section h1 {
    font-size: 3em;
    margin-bottom: 20px;
    color: var(--gray-100);
}

.hero-section .lead {
    font-size: 1.5em;
    margin-bottom: 30px;
    color: var(--gray-300);
}

/* Game Grid Layout */
.games-grid {
    margin-bottom: 40px;
}

/* Game Tiles Styling */
.game-tile {
    margin-bottom: 30px;
    display: flex;
}

.game-card {
    background: var(--gray-800);
    border-radius: 10px;
    padding: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.game-card:hover {
    transform: translateY(-3px);
    background: var(--gray-700);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.game-icon {
    margin: 20px 0;
    color: var(--gray-400);
    transition: color 0.2s ease;
}

.game-card:hover .game-icon {
    color: var(--gray-300);
}

.game-card h3 {
    margin: 15px 0;
    color: var(--gray-100);
    font-size: 1.5em;
}

.game-card p {
    color: var(--gray-400);
    margin-bottom: 20px;
    flex-grow: 1;
    line-height: 1.5;
}

.game-card .btn {
    align-self: center;
    min-width: 120px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
/* Responsive adjustments for game layout */
@media (max-width: 991px) {
    .game-sidebar {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .game-content {
        flex: 0 0 100%;
        max-width: 100%;
        order: -1;
    }
}

@media (max-width: 767px) {
    .game-sidebar {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .scores-panel {
        margin-bottom: 20px;
    }

    .hero-section {
        padding: 40px 0;
    }
    
    .hero-section h1 {
        font-size: 2em;
    }
    
    .hero-section .lead {
        font-size: 1.2em;
    }
    
    .game-card h3 {
        font-size: 1.3em;
    }
}

/* Grid Layout Fixes */
@media (min-width: 992px) {
    .row {
        display: flex;
        flex-wrap: wrap;
    }
    
    /* Clear the third item in each row */
    .game-tile:nth-child(3n+1) {
        clear: left;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    /* Clear the second item in each row for tablet view */
    .game-tile:nth-child(2n+1) {
        clear: left;
    }
}

/* Container padding adjustments for mobile */
@media (max-width: 576px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .game-card {
        padding: 15px;
    }
}