/* Wargames Theme - Classic 80s Terminal Style */

/* Global Wargames Theme Variables */
:root {
    --wargames-green: #00ff00;
    --wargames-dark-green: #00cc00;
    --wargames-darker-green: #009900;
    --wargames-black: #000000;
    --wargames-dark-gray: #111111;
    --wargames-gray: #222222;
    --wargames-light-gray: #333333;
    --wargames-white: #ffffff;
    --wargames-yellow: #ffff00;
    --wargames-red: #ff0000;
    --wargames-blue: #0080ff;
    --wargames-cyan: #00ffff;
}

/* Wargames Theme Active Styles */
body.wargames-theme {
    background-color: var(--wargames-black) !important;
    color: var(--wargames-green) !important;
    font-family: 'Courier New', 'Monaco', 'Menlo', monospace !important;
}

/* Map Container Styling */
body.wargames-theme #map {
    background-color: var(--wargames-black) !important;
    border: 2px solid var(--wargames-green) !important;
    box-shadow: 0 0 20px var(--wargames-green), inset 0 0 20px rgba(0, 255, 0, 0.1) !important;
}

/* Leaflet Map Overrides */
body.wargames-theme .leaflet-container {
    background-color: var(--wargames-black) !important;
}

body.wargames-theme .leaflet-control-container .leaflet-control {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 10px var(--wargames-green) !important;
}

body.wargames-theme .leaflet-control-zoom a {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    text-shadow: 0 0 5px var(--wargames-green) !important;
}

body.wargames-theme .leaflet-control-zoom a:hover {
    background-color: var(--wargames-gray) !important;
    box-shadow: 0 0 10px var(--wargames-green) !important;
}

/* Control Panel Styling */
body.wargames-theme .control-panel {
    background-color: var(--wargames-dark-gray) !important;
    border: 2px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 15px var(--wargames-green) !important;
}

body.wargames-theme .control-panel h3 {
    color: var(--wargames-yellow) !important;
    text-shadow: 0 0 10px var(--wargames-yellow) !important;
    border-bottom: 1px solid var(--wargames-green) !important;
}

/* Button Styling */
body.wargames-theme button {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 5px var(--wargames-green) !important;
    transition: all 0.3s ease !important;
}

body.wargames-theme button:hover {
    background-color: var(--wargames-gray) !important;
    box-shadow: 0 0 10px var(--wargames-green) !important;
    text-shadow: 0 0 8px var(--wargames-green) !important;
}

body.wargames-theme button.active {
    background-color: var(--wargames-green) !important;
    color: var(--wargames-black) !important;
    box-shadow: 0 0 15px var(--wargames-green) !important;
}

/* Input Fields */
body.wargames-theme input[type="text"],
body.wargames-theme input[type="number"],
body.wargames-theme select {
    background-color: var(--wargames-black) !important;
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    font-family: 'Courier New', monospace !important;
    padding: 5px !important;
}

body.wargames-theme input[type="text"]:focus,
body.wargames-theme input[type="number"]:focus,
body.wargames-theme select:focus {
    outline: none !important;
    box-shadow: 0 0 10px var(--wargames-green) !important;
    border-color: var(--wargames-yellow) !important;
}

/* Slider Styling */
body.wargames-theme input[type="range"] {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
}

body.wargames-theme input[type="range"]::-webkit-slider-thumb {
    background-color: var(--wargames-green) !important;
    border: 1px solid var(--wargames-yellow) !important;
    box-shadow: 0 0 5px var(--wargames-green) !important;
}

/* Popup Styling */
body.wargames-theme .leaflet-popup-content-wrapper {
    background-color: var(--wargames-dark-gray) !important;
    border: 2px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 15px var(--wargames-green) !important;
}

body.wargames-theme .leaflet-popup-content {
    color: var(--wargames-green) !important;
    font-family: 'Courier New', monospace !important;
}

body.wargames-theme .leaflet-popup-tip {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
}

/* Status Display */
body.wargames-theme .status-display {
    background-color: var(--wargames-dark-gray) !important;
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 10px var(--wargames-green) !important;
}

/* Grid Activity Table */
body.wargames-theme .grid-popup table {
    background-color: var(--wargames-black) !important;
    border: 1px solid var(--wargames-green) !important;
}

body.wargames-theme .grid-popup th {
    background-color: var(--wargames-gray) !important;
    color: var(--wargames-yellow) !important;
    border: 1px solid var(--wargames-green) !important;
}

body.wargames-theme .grid-popup td {
    border: 1px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
}

/* Active Grids Control */
body.wargames-theme .active-grids-control {
    background-color: var(--wargames-dark-gray) !important;
    border: 2px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 15px var(--wargames-green) !important;
}

body.wargames-theme .active-grids-control h4 {
    color: var(--wargames-yellow) !important;
    text-shadow: 0 0 8px var(--wargames-yellow) !important;
}

/* Settings Dropdown */
body.wargames-theme .settings-dropdown {
    background-color: var(--wargames-dark-gray) !important;
    border: 2px solid var(--wargames-green) !important;
    color: var(--wargames-green) !important;
    box-shadow: 0 0 15px var(--wargames-green) !important;
}

body.wargames-theme .settings-dropdown h4 {
    color: var(--wargames-yellow) !important;
    text-shadow: 0 0 8px var(--wargames-yellow) !important;
    border-bottom: 1px solid var(--wargames-green) !important;
}

/* Wargames Theme Toggle Switch (Custom Switch) */
.wargames-switch {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

.wargames-switch input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    z-index: -1;
}

.wargames-switch .slider {
    position: relative;
    width: 38px;
    height: 22px;
    background: var(--wargames-black, #111);
    border: 2px solid var(--wargames-green, #00ff00);
    border-radius: 22px;
    transition: background 0.3s, border-color 0.3s;
    box-sizing: border-box;
    display: inline-block;
}

.wargames-switch .slider::before {
    content: '';
    position: absolute;
    left: 2px;
    top: 2px;
    width: 16px;
    height: 16px;
    background: var(--wargames-green, #00ff00);
    border-radius: 50%;
    transition: transform 0.3s, background 0.3s;
    box-shadow: 0 0 8px var(--wargames-green, #00ff00);
}

.wargames-switch input[type="checkbox"]:checked + .slider {
    background: var(--wargames-green, #00ff00);
    border-color: var(--wargames-yellow, #ffff00);
    box-shadow: 0 0 10px var(--wargames-yellow, #ffff00);
}

.wargames-switch input[type="checkbox"]:checked + .slider::before {
    transform: translateX(16px);
    background: var(--wargames-black, #111);
    box-shadow: 0 0 8px var(--wargames-yellow, #ffff00);
}

.wargames-switch span:last-child {
    color: var(--wargames-green, #00ff00);
    font-family: 'Courier New', monospace;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 0 0 5px var(--wargames-green, #00ff00);
}

body.wargames-theme .wargames-switch span:last-child {
    color: var(--wargames-yellow, #ffff00);
    text-shadow: 0 0 8px var(--wargames-yellow, #ffff00);
}

/* Remove old toggle styles for .wargames-toggle input[type="checkbox"] */
.wargames-toggle input[type="checkbox"] {
    all: unset;
}

/* Animated Elements */
body.wargames-theme .cq-flash-glow {
    animation: wargames-pulse 1.5s ease-in-out infinite !important;
    transform-origin: center center;
}

body.wargames-theme .wspr-flash-glow {
    animation: wargames-wspr-pulse 1.5s ease-in-out infinite !important;
    transform-origin: center center;
}

@keyframes wargames-pulse {
    0% {
        filter: drop-shadow(0 0 5px var(--wargames-green, #00ff00));
        opacity: 0.9;
    }
    50% {
        filter: drop-shadow(0 0 20px var(--wargames-green, #00ff00)) drop-shadow(0 0 35px rgba(0, 255, 0, 0.6));
        opacity: 1;
    }
    100% {
        filter: drop-shadow(0 0 5px var(--wargames-green, #00ff00));
        opacity: 0.9;
    }
}

@keyframes wargames-wspr-pulse {
    0% {
        filter: drop-shadow(0 0 5px var(--wargames-blue, #1976d2));
        opacity: 0.9;
    }
    50% {
        filter: drop-shadow(0 0 20px var(--wargames-blue, #1976d2)) drop-shadow(0 0 35px rgba(25, 118, 210, 0.6));
        opacity: 1;
    }
    100% {
        filter: drop-shadow(0 0 5px var(--wargames-blue, #1976d2));
        opacity: 0.9;
    }
}

body.wargames-theme .js8-flash-glow {
    animation: wargames-js8-pulse 1.5s ease-in-out infinite !important;
    transform-origin: center center;
}

@keyframes wargames-js8-pulse {
    0% {
        filter: drop-shadow(0 0 5px var(--wargames-purple, #7c3aed));
        opacity: 0.9;
    }
    50% {
        filter: drop-shadow(0 0 20px var(--wargames-purple, #7c3aed)) drop-shadow(0 0 35px rgba(124, 58, 237, 0.6));
        opacity: 1;
    }
    100% {
        filter: drop-shadow(0 0 5px var(--wargames-purple, #7c3aed));
        opacity: 0.9;
    }
}

/* Terminal-style blinking cursor effect */
body.wargames-theme .terminal-cursor::after {
    content: '|';
    animation: blink 1s infinite;
    color: var(--wargames-green);
}

@keyframes blink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
}

/* Wargames-style grid overlays */
body.wargames-theme .leaflet-interactive {
    filter: drop-shadow(0 0 5px var(--wargames-green)) !important;
}

/* Custom scrollbar for Wargames theme */
body.wargames-theme ::-webkit-scrollbar {
    width: 12px;
}

body.wargames-theme ::-webkit-scrollbar-track {
    background: var(--wargames-black);
    border: 1px solid var(--wargames-green);
}

body.wargames-theme ::-webkit-scrollbar-thumb {
    background: var(--wargames-green);
    border-radius: 6px;
    box-shadow: 0 0 5px var(--wargames-green);
}

body.wargames-theme ::-webkit-scrollbar-thumb:hover {
    background: var(--wargames-yellow);
    box-shadow: 0 0 8px var(--wargames-yellow);
} 