/* Memphis Design theme variables */
body[data-theme="memphis"] {
    --bg-primary: #ffffff;
    --bg-secondary: #fef6ff;
    --text-primary: #141414;
    --text-secondary: #4a4a4a;
    --border-color: #1a1a1a;
    --accent-color: #ff2d55;
    --accent-2: #00c2ff;
    --accent-3: #ffd400;
    --accent-4: #5bff6b;
    --accent-5: #b70062;
    --accent-6: #aa6b8a;
    background: linear-gradient(to bottom, #fff, #f7d4a5, #9a2d4b) no-repeat;
}

body[data-theme="memphis"] .gui-container {
    border: 4px solid var(--border-color);
    border-radius: 14px;
    padding: 24px;
    background: linear-gradient(90deg, #16db93 0%, #00c2ff 100%);
    box-shadow: 8px 8px 0 #141414, 0 2px 20px rgba(0,0,0,0.08);
}

.race-week-container {
    background-color: #3B5F49;
    border: 5px solid #87A5B3;
    padding: 10px;
}

.race-week-container.current-race {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 4px rgba(255,45,85,0.15);
    background: linear-gradient(135deg, rgba(255,45,85,0.08) 0%, rgba(0,194,255,0.08) 100%);
}

.stat {
    background: #3f6c49;
    color: #141414;
    padding: 5px;
    border: 2px solid #87A5B3;
}

.btn {
    background: #87A5B3;
    color: #141414;
    padding: 10px;
    border: 2px solid #3B5F49;
    font-family: Orbitron;
    font-size: 18px;
    transition: all 0.2s ease;
    position: relative;
    overflow: hidden;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
}

.btn:hover::before {
    left: 100%;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.2);
}

.btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.btn-primary {
    background: var(--accent-color);
    color: #ffffff;
}

.btn-outline {
    background: transparent;
    border: 2px solid var(--accent-color);
    color: var(--accent-color);
}

.loading-indicator {
    position: fixed;
    top: 50%;
    left: 50%;
    background-color: #f7f4a5;
    border: 5px solid #141414;
    border-radius: 50%;
    padding: 10px;
    color: #141414;
    font-family: Orbitron;
    font-size: 24px;
    text-align: center;
    animation: pulse 1.5s infinite;
}

/* Screen transition effects */
[id*="Screen"] {
    transition: all 0.3s ease;
}

/* Enhanced racer card animations */
.racer-card-memphis {
    transition: all 0.2s ease;
}

.racer-card-memphis:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

/* Results screen enhancements */
.race-results-container-memphis {
    animation: slideInFromBottom 0.6s ease-out;
}

.results-item-memphis {
    transition: all 0.2s ease;
}

.results-item-memphis:hover {
    transform: translateX(8px);
    background-color: rgba(255,45,85,0.1);
}

/* Podium display animations */
.podium-display-memphis {
    animation: bounceIn 0.8s ease-out 0.2s both;
}

/* UI container enhancements */
.gui-container {
    transition: all 0.3s ease;
}

.gui-container:hover {
    box-shadow: 12px 12px 0 #141414, 0 4px 24px rgba(0,0,0,0.12);
}