/* Wargames Custom Map Styling */
/* Custom OpenStreetMap tiles for Wargames theme */

/* Wargames Map Container */
body.wargames-theme #map {
    background-color: #000000 !important;
    border: 2px solid #00ff00 !important;
    box-shadow: 0 0 20px #00ff00, inset 0 0 20px rgba(0, 255, 0, 0.1) !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    min-height: 400px !important;
    height: 100% !important;
    width: 100% !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Wargames Map Tiles */
body.wargames-theme .leaflet-tile {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Wargames Map Attribution */
body.wargames-theme .leaflet-control-attribution,
body.wargames-theme .ol-attribution {
    background-color: rgba(0, 0, 0, 0.9) !important;
    color: #00ff00 !important;
    border: 1px solid #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 9px !important;
    text-shadow: 0 0 5px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

/* Wargames Map Attribution Links */
body.wargames-theme .leaflet-control-attribution a {
    color: #00ff00 !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

body.wargames-theme .leaflet-control-attribution a:hover {
    color: #ffff00 !important;
    text-shadow: 0 0 8px #ffff00 !important;
}

/* Wargames Map Zoom Controls */
body.wargames-theme .leaflet-control-zoom,
body.wargames-theme .ol-zoom {
    background-color: #000000 !important;
    border: 2px solid #00ff00 !important;
    box-shadow: 0 0 15px #00ff00 !important;
}

body.wargames-theme .leaflet-control-zoom a,
body.wargames-theme .ol-zoom button {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-weight: bold !important;
    font-size: 14px !important;
    text-shadow: 0 0 5px #00ff00 !important;
    transition: all 0.3s ease !important;
    backdrop-filter: blur(5px) !important;
}

body.wargames-theme .leaflet-control-zoom a:hover {
    background-color: #00ff00 !important;
    color: #000000 !important;
    box-shadow: 0 0 15px #00ff00 !important;
    text-shadow: none !important;
    transform: scale(1.1) !important;
}

/* Wargames Map Scale */
body.wargames-theme .leaflet-control-scale {
    background-color: #000000 !important;
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 10px !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

body.wargames-theme .leaflet-control-scale-line {
    background-color: #000000 !important;
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

/* Wargames Map Popups */
body.wargames-theme .leaflet-popup-content-wrapper {
    background-color: rgba(0, 0, 0, 0.95) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 20px #00ff00 !important;
    backdrop-filter: blur(10px) !important;
}

body.wargames-theme .leaflet-popup-content {
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
}

body.wargames-theme .leaflet-popup-tip {
    background-color: #000000 !important;
    border: 1px solid #00ff00 !important;
}

body.wargames-theme .leaflet-popup-close-button {
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

body.wargames-theme .leaflet-popup-close-button:hover {
    color: #ffff00 !important;
    text-shadow: 0 0 8px #ffff00 !important;
}

/* Wargames Map Grid Lines (if any) */
body.wargames-theme .leaflet-grid-line {
    stroke: #00ff00 !important;
    stroke-width: 1px !important;
    opacity: 0.1 !important;
    filter: drop-shadow(0 0 2px #00ff00) !important;
}

/* Wargames Map Overlays */
body.wargames-theme .leaflet-overlay-pane svg {
    filter: drop-shadow(0 0 5px #00ff00) !important;
}

/* Wargames Map Markers */
body.wargames-theme .leaflet-marker-icon {
    filter: drop-shadow(0 0 5px #00ff00) !important;
}

/* Wargames Map Paths (lines, polygons) */
body.wargames-theme .leaflet-interactive {
    filter: drop-shadow(0 0 5px #00ff00) !important;
}

/* Wargames Map Tile Loading */
body.wargames-theme .leaflet-tile-loaded {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wargames Map Tile Loading Animation */
body.wargames-theme .leaflet-tile-pane {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-tile-pane svg {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-tile-pane canvas {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wargames Map Background */
body.wargames-theme .leaflet-container {
    background-color: #000000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Wargames Map Attribution Pane */
body.wargames-theme .leaflet-attribution-flag {
    background-color: #000000 !important;
    color: #00ff00 !important;
}

/* Custom Wargames Map Style Overrides */
body.wargames-theme .leaflet-tile-pane img {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wargames Map Loading State */
body.wargames-theme .leaflet-loading {
    background-color: #000000 !important;
    color: #00ff00 !important;
    border: 1px solid #00ff00 !important;
}

/* Wargames Map Error State */
body.wargames-theme .leaflet-error {
    background-color: #000000 !important;
    color: #ff0000 !important;
    border: 1px solid #ff0000 !important;
    font-family: 'Courier New', monospace !important;
}

/* Wargames Map Grid Overlays Enhancement */
body.wargames-theme .leaflet-overlay-pane svg path {
    filter: drop-shadow(0 0 3px #00ff00) !important;
}

/* Wargames Map Text Elements */
body.wargames-theme .leaflet-text-pane {
    filter: drop-shadow(0 0 3px #00ff00) !important;
}

/* Wargames Map Custom Tile Styling */
body.wargames-theme .leaflet-tile {
    image-rendering: pixelated !important;
}

/* Wargames Map Zoom Level Indicator */
body.wargames-theme .leaflet-zoom-level {
    background-color: #000000 !important;
    color: #00ff00 !important;
    border: 1px solid #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 10px !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

/* Wargames Map Coordinates Display */
body.wargames-theme .leaflet-coordinates {
    background-color: #000000 !important;
    color: #00ff00 !important;
    border: 1px solid #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 10px !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

/* Wargames Map Custom Overlay Styling */
body.wargames-theme .wargames-grid-overlay {
    stroke: #00ff00 !important;
    stroke-width: 2px !important;
    fill: none !important;
    opacity: 0.8 !important;
    filter: drop-shadow(0 0 5px #00ff00) !important;
}

/* Wargames Map Custom Marker Styling */
body.wargames-theme .wargames-marker {
    background-color: #00ff00 !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
    font-family: 'Courier New', monospace !important;
    font-weight: bold !important;
    text-shadow: none !important;
    box-shadow: 0 0 10px #00ff00 !important;
}

/* Wargames Map Custom Popup Styling */
body.wargames-theme .wargames-popup {
    background-color: #000000 !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 15px #00ff00 !important;
}

/* Wargames Map Custom Control Styling */
body.wargames-theme .wargames-control {
    background-color: #000000 !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 10px #00ff00 !important;
}

/* Wargames Map Custom Legend Styling */
body.wargames-theme .map-legend {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 15px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

body.wargames-theme .map-legend div {
    color: #00ff00 !important;
    text-shadow: 0 0 5px #00ff00 !important;
}

/* Wargames Map Custom Swatch Styling */
body.wargames-theme .legend-swatch {
    border: 1px solid #00ff00 !important;
    box-shadow: 0 0 5px #00ff00 !important;
}

/* Wargames Map Custom Active Grids Control */
body.wargames-theme .active-grids-control {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 15px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

body.wargames-theme .active-grids-control h4 {
    color: #ffff00 !important;
    text-shadow: 0 0 8px #ffff00 !important;
}

/* Wargames Map Custom Grid Activity Styling */
body.wargames-theme .grid-activity-popup {
    background-color: rgba(0, 0, 0, 0.95) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 20px #00ff00 !important;
    backdrop-filter: blur(10px) !important;
}

/* Wargames Map Custom Table Styling */
body.wargames-theme .grid-popup table {
    background-color: #000000 !important;
    border: 1px solid #00ff00 !important;
}

body.wargames-theme .grid-popup th {
    background-color: #111111 !important;
    color: #ffff00 !important;
    border: 1px solid #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 5px #ffff00 !important;
}

body.wargames-theme .grid-popup td {
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    text-shadow: 0 0 3px #00ff00 !important;
}

/* Wargames Map Custom Animation Effects */
body.wargames-theme .wargames-pulse {
    animation: wargames-map-pulse 2s infinite alternate !important;
}

@keyframes wargames-map-pulse {
    0% {
        filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) drop-shadow(0 0 3px #00ff00);
    }
    100% {
        filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) drop-shadow(0 0 8px #00ff00);
    }
}

/* Wargames Map Custom Loading Animation */
body.wargames-theme .wargames-loading {
    background: linear-gradient(45deg, #000000, #00ff00, #000000) !important;
    background-size: 200% 200% !important;
    animation: wargames-loading 2s ease-in-out infinite !important;
}

@keyframes wargames-loading {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Additional Wargames Map Classes */
body.wargames-theme .wargames-map-active {
    background-color: #000000 !important;
    border: 2px solid #00ff00 !important;
    box-shadow: 0 0 20px #00ff00, inset 0 0 20px rgba(0, 255, 0, 0.1) !important;
}

body.wargames-theme .wargames-tile {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .wargames-grid-line {
    stroke: #00ff00 !important;
    stroke-width: 1px !important;
    opacity: 0.1 !important;
    filter: drop-shadow(0 0 2px #00ff00) !important;
}

body.wargames-theme .wargames-map-element {
    background-color: #000000 !important;
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 10px #00ff00 !important;
}

/* Wargames Map Tile Enhancement */
body.wargames-theme .leaflet-tile-pane {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-tile-pane img {
    filter: hue-rotate(90deg) saturate(0.7) brightness(0.9) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wargames Map Attribution Enhancement */
body.wargames-theme .leaflet-control-attribution {
    background-color: rgba(0, 0, 0, 0.9) !important;
    color: #00ff00 !important;
    border: 1px solid #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-size: 9px !important;
    text-shadow: 0 0 5px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

/* Wargames Map Zoom Controls Enhancement */
body.wargames-theme .leaflet-control-zoom a {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 1px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    font-weight: bold !important;
    font-size: 14px !important;
    text-shadow: 0 0 5px #00ff00 !important;
    transition: all 0.3s ease !important;
    backdrop-filter: blur(5px) !important;
}

body.wargames-theme .leaflet-control-zoom a:hover {
    background-color: #00ff00 !important;
    color: #000000 !important;
    box-shadow: 0 0 15px #00ff00 !important;
    text-shadow: none !important;
    transform: scale(1.1) !important;
}

/* Wargames Map Popup Enhancement */
body.wargames-theme .leaflet-popup-content-wrapper {
    background-color: rgba(0, 0, 0, 0.95) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 20px #00ff00 !important;
    backdrop-filter: blur(10px) !important;
}

/* Wargames Map Legend Enhancement */
body.wargames-theme .map-legend {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 15px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

/* Wargames Map Active Grids Control Enhancement */
body.wargames-theme .active-grids-control {
    background-color: rgba(0, 0, 0, 0.9) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 15px #00ff00 !important;
    backdrop-filter: blur(5px) !important;
}

/* Wargames Map Grid Activity Popup Enhancement */
body.wargames-theme .grid-activity-popup {
    background-color: rgba(0, 0, 0, 0.95) !important;
    border: 2px solid #00ff00 !important;
    color: #00ff00 !important;
    font-family: 'Courier New', monospace !important;
    box-shadow: 0 0 20px #00ff00 !important;
    backdrop-filter: blur(10px) !important;
}

/* Wargames Map Custom Animation for Tiles */
body.wargames-theme .leaflet-tile {
    transition: filter 0.5s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-tile:hover {
    filter: hue-rotate(90deg) saturate(0.8) brightness(1.0) drop-shadow(0 0 3px #00ff00) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Wargames Map Custom Scrollbar for Map Elements */
body.wargames-theme .leaflet-popup-content-wrapper::-webkit-scrollbar {
    width: 8px;
}

body.wargames-theme .leaflet-popup-content-wrapper::-webkit-scrollbar-track {
    background: #000000;
    border: 1px solid #00ff00;
}

body.wargames-theme .leaflet-popup-content-wrapper::-webkit-scrollbar-thumb {
    background: #00ff00;
    border-radius: 4px;
    box-shadow: 0 0 5px #00ff00;
}

body.wargames-theme .leaflet-popup-content-wrapper::-webkit-scrollbar-thumb:hover {
    background: #ffff00;
    box-shadow: 0 0 8px #ffff00;
}

/* Ensure all map elements are visible */
body.wargames-theme .leaflet-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-overlay-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-marker-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-shadow-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-tooltip-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

body.wargames-theme .leaflet-popup-pane {
    opacity: 1 !important;
    visibility: visible !important;
} 