/* ════════════════════════════════════════════════════════════════════
   WASTELAND SUNSET FOOTER — All rules scoped to wasteland classes
   Linked from index.html after style.css and mediaqueries.css
   ════════════════════════════════════════════════════════════════════ */

.footer-wasteland {
  margin-top: 30px;
  position: relative;
}

/* Override the base footer-scenery-strip height and background:
   Cinematic multi-stop vertical atmospheric gradient blending near-black charcoal sky
   through muted deep teal into smoky amber and warm sunset orange at the horizon */
.footer-scenery-strip.wasteland-scenery {
  height: 236px !important;
  overflow: visible;
  background: linear-gradient(
    180deg,
    rgba(15, 15, 14, 0) 0%,
    rgba(15, 15, 14, 0.4) 12%,
    #101719 24%,
    #14252B 38%,
    #1C3B46 52%,
    #344047 66%,
    #76503A 78%,
    #B56A2F 89%,
    #8A431C 96%,
    #5C2A12 100%
  ) !important;
}

/* Distant Mountain Range — muted, far atmospheric */
.wasteland-mountains {
  position: absolute;
  left: 0; right: 0; bottom: var(--ground-y);
  width: 100%; height: 62px;
  background-image: url('./assets/wasteland/distant-mountains.png');
  background-repeat: repeat-x;
  background-size: auto 62px;
  background-position: center bottom;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  opacity: 0.42;
  filter: brightness(0.65) saturate(0.5) hue-rotate(10deg);
  z-index: 1;
}

/* Distant Orbital Satellite Above Left Wasteland Horizon */
.prop-wasteland-satellite {
  position: absolute;
  top: -48px;
  left: 17%;
  width: 26px;
  height: 26px;
  z-index: 1; /* Floating high in upper sky above mountains */
  pointer-events: none;
  user-select: none;
  will-change: transform;
}

.wasteland-satellite-drift {
  width: 100%;
  height: 100%;
  animation: wastelandSatelliteDrift 54s ease-in-out infinite alternate;
  will-change: transform;
}

.wasteland-satellite-img {
  width: 100%;
  height: 100%;
  display: block;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  opacity: 0.85;
  filter: brightness(0.88) contrast(0.95);
}

@keyframes wastelandSatelliteDrift {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  30% {
    transform: translate3d(10px, -4px, 0) rotate(2deg);
  }
  70% {
    transform: translate3d(18px, 4px, 0) rotate(-1.5deg);
  }
  100% {
    transform: translate3d(6px, -2px, 0) rotate(1deg);
  }
}

/* ════════════════════════════════════════════════════════════════════
   CYBERPUNK HOVERCAR — AMBIENT FLOATING VEHICLE WITH ACTIVE THRUSTERS
   (Continuous Skyline Cruise from Right to Left with Subdued Lighting)
   ════════════════════════════════════════════════════════════════════ */

.prop-wasteland-hovercar {
  position: absolute;
  top: 22px;
  left: 0;
  right: auto;
  z-index: 2; /* Sits naturally in the distant atmospheric sky */
  pointer-events: auto;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  will-change: transform;
  outline: none;
  animation: hovercarSkylineCruise 26s linear infinite;
}
.prop-wasteland-hovercar:hover {
  animation-play-state: paused;
}
.prop-wasteland-hovercar:focus-visible {
  outline: 2px dashed #38bdf8;
  outline-offset: 4px;
}

.wasteland-hovercar-physics {
  position: relative;
  display: inline-block;
  animation: hovercarGentleFloat 5.6s ease-in-out infinite;
  filter: drop-shadow(0 3px 8px rgba(56, 189, 248, 0.25));
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease;
  will-change: transform, filter;
}

.prop-wasteland-hovercar:hover .wasteland-hovercar-physics {
  transform: translateY(-6px) scale(1.04);
  filter: drop-shadow(0 6px 14px rgba(56, 189, 248, 0.65)) drop-shadow(0 0 10px rgba(14, 165, 233, 0.4));
}
.prop-wasteland-hovercar:hover .hovercar-sprite-img {
  opacity: 1;
  filter: brightness(0.85) contrast(1);
}

.hovercar-sprite-img {
  display: block;
  width: 70px;
  height: 34px;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  pointer-events: none;
  opacity: 0.86;
  filter: brightness(0.72) contrast(0.95);
  transition: opacity 0.3s ease, filter 0.3s ease;
}

/* Downward plasma jet thrusters plume & ground glow (Subtle Distant Flare) */
.hovercar-plasma-flare {
  position: absolute;
  bottom: -3px;
  left: 18%;
  right: 18%;
  height: 7px;
  background: radial-gradient(ellipse at center top, rgba(56, 189, 248, 0.65) 0%, rgba(14, 165, 233, 0.2) 50%, transparent 80%);
  animation: thrusterPlasmaPulse 1.9s ease-in-out infinite alternate;
  pointer-events: none;
  filter: blur(1.5px);
  will-change: transform, opacity;
}

/* Continuous Horizontal Skyline Cruise: Right to Left across the wasteland */
@keyframes hovercarSkylineCruise {
  0% {
    transform: translate3d(calc(100vw + 60px), 0, 0);
    visibility: visible;
  }
  75% {
    transform: translate3d(-140px, 0, 0);
    visibility: visible;
  }
  75.01%, 99.99% {
    transform: translate3d(-140px, 0, 0);
    visibility: hidden;
  }
  100% {
    transform: translate3d(calc(100vw + 60px), 0, 0);
    visibility: hidden;
  }
}

@keyframes hovercarGentleFloat {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  25% {
    transform: translate3d(1.5px, -3.5px, 0) rotate(0.4deg);
  }
  50% {
    transform: translate3d(0, -7px, 0) rotate(0deg);
  }
  75% {
    transform: translate3d(-1.5px, -3px, 0) rotate(-0.35deg);
  }
}

@keyframes thrusterPlasmaPulse {
  0% {
    opacity: 0.55;
    transform: scaleX(0.88) scaleY(0.85);
  }
  100% {
    opacity: 0.8;
    transform: scaleX(1.1) scaleY(1.15);
  }
}

/* Interactive click thruster boost */
.prop-wasteland-hovercar.thrust-boost .wasteland-hovercar-physics {
  animation: hovercarBoostJump 1.2s cubic-bezier(0.2, 0.9, 0.3, 1.2) forwards !important;
}
.prop-wasteland-hovercar.thrust-boost .hovercar-plasma-flare {
  animation: thrusterBoostFlash 1.2s ease-out forwards !important;
}

@keyframes hovercarBoostJump {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  25% {
    transform: translate3d(-3px, -12px, 0) scale(1.06) rotate(0.8deg);
  }
  60% {
    transform: translate3d(1px, -5px, 0) scale(1.01) rotate(-0.3deg);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes thrusterBoostFlash {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  20% {
    transform: scaleX(1.4) scaleY(1.8);
    opacity: 0.95;
    filter: blur(2px) drop-shadow(0 0 8px #38bdf8);
  }
  100% {
    transform: scale(1);
    opacity: 0.6;
  }
}

/* ════════════════════════════════════════════════════════════════════
   INTERACTIVE TOWERS & MULTI-PLANE DEPTH SYSTEM
   ════════════════════════════════════════════════════════════════════ */

.tower-interactive-wrap {
  cursor: pointer;
  pointer-events: auto !important;
  user-select: none;
  -webkit-user-select: none;
  transition: filter 0.22s ease, transform 0.22s ease;
  outline: none;
}
.tower-interactive-wrap:focus-visible {
  outline: 2px dashed #fbbf24;
  outline-offset: 4px;
}

.tower-sprite-img {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  pointer-events: none;
}

/* Ground Contact Shadow (Ambient Occlusion) */
.tower-ground-shadow {
  position: absolute;
  bottom: -4px;
  left: 5%;
  width: 90%;
  height: 8px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 60%, transparent 100%);
  pointer-events: none;
  z-index: -1;
  filter: blur(1px);
}

/* Depth for Central Citadel Monolith (Midground Layer 2) - Clean grounding, zero aura */
.prop-wasteland-citadel {
  position: absolute;
  left: 52%; transform: translateX(-50%);
  bottom: var(--ground-y);
  width: 120px; height: 195px;
  z-index: 2;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.25));
}
.prop-wasteland-citadel:hover {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35)) drop-shadow(0 0 8px rgba(56, 189, 248, 0.25)) brightness(1.05);
}
.prop-wasteland-citadel.is-pulsing {
  filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 14px rgba(56, 189, 248, 0.4)) brightness(1.12) !important;
}

/* Citadel Radar Ping Ring Animation */
.citadel-radar-ring {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.1);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid #38bdf8;
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}
.prop-wasteland-citadel.is-pulsing .citadel-radar-ring {
  animation: radarPing 1.1s cubic-bezier(0.15, 0.85, 0.35, 1) forwards;
}
@keyframes radarPing {
  0%   { transform: translate(-50%, -50%) scale(0.1); opacity: 0.95; border-color: #38bdf8; box-shadow: 0 0 10px #38bdf8; }
  60%  { opacity: 0.6; }
  100% { transform: translate(-50%, -50%) scale(4.2); opacity: 0; border-color: #22d3ee; }
}

/* Depth for Left Factory (Foreground Layer 5) */
.prop-wasteland-factory-left {
  position: absolute;
  left: -8px; bottom: var(--ground-y);
  width: 125px; height: 178px;
  z-index: 4;
  filter: drop-shadow(4px 8px 14px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 10px rgba(15, 23, 42, 0.45));
}
.prop-wasteland-factory-left:hover {
  filter: drop-shadow(5px 10px 16px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 18px rgba(34, 211, 238, 0.35)) brightness(1.1);
}
.prop-wasteland-factory-left.is-venting {
  filter: drop-shadow(6px 12px 20px rgba(0, 0, 0, 0.95)) drop-shadow(0 0 24px rgba(249, 115, 22, 0.7)) brightness(1.25) !important;
}

/* Depth & Volumetric Atmosphere for Right Refinery (Foreground Layer 6) */
.prop-wasteland-refinery-right {
  position: absolute;
  right: -10px; bottom: var(--ground-y);
  width: 205px; height: 152px;
  z-index: 4;
  /* Clean structural grounding & atmospheric depth - zero yellow glow */
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.85)) drop-shadow(0 0 12px rgba(15, 23, 42, 0.45));
}
.prop-wasteland-refinery-right:hover {
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.95)) drop-shadow(0 0 16px rgba(56, 189, 248, 0.22)) brightness(1.06);
}
.prop-wasteland-refinery-right.is-cycling {
  filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.95)) drop-shadow(0 0 20px rgba(239, 68, 68, 0.55)) brightness(1.15) !important;
}

/* Volumetric Under-Canopy Depth Occlusion Layer (Abandoned interior shadow) */
.refinery-bay-backdrop {
  position: absolute;
  top: 41%;
  left: 17.8%;
  width: 65.5%;
  height: 59%;
  background:
    linear-gradient(180deg, rgba(8, 13, 22, 0.85) 0%, rgba(12, 18, 30, 0.65) 55%, rgba(15, 23, 42, 0.25) 100%);
  pointer-events: none;
  z-index: 1;
  border-radius: 1px;
}

/* Active 16-Bit Hazard Warning Beacons */
.refinery-beacon {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 4px #ef4444, 0 0 8px rgba(239, 68, 68, 0.8);
  pointer-events: none;
  z-index: 3;
  animation: refineryBeaconPulse 2.2s ease-in-out infinite;
}
.refinery-beacon.beacon-antenna {
  top: 26%;
  left: 50.2%;
  animation-delay: 0s;
}
.refinery-beacon.beacon-rail {
  top: 32.5%;
  left: 94.5%;
  animation-delay: 1.1s;
}
@keyframes refineryBeaconPulse {
  0%, 100% {
    opacity: 0.35;
    transform: scale(0.85);
    box-shadow: 0 0 2px #ef4444;
  }
  50% {
    opacity: 1;
    transform: scale(1.15);
    box-shadow: 0 0 6px #f87171, 0 0 12px rgba(239, 68, 68, 0.9);
  }
}

/* Multi-Stop Elliptical Ground Contact Shadow for Refinery */
.prop-wasteland-refinery-right .tower-ground-shadow {
  bottom: -4px;
  left: -2%;
  width: 104%;
  height: 10px;
  background: radial-gradient(ellipse 85% 50% at 50% 65%, rgba(8, 13, 22, 0.96) 0%, rgba(8, 13, 22, 0.65) 50%, rgba(8, 13, 22, 0.2) 75%, transparent 100%);
  z-index: -1;
  filter: blur(1.5px);
}

/* 16-Bit Retro HUD Tooltip Badges */
.tower-hud-badge {
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: rgba(13, 17, 23, 0.92);
  border: 1px solid rgba(251, 191, 36, 0.45);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.8), inset 0 0 6px rgba(251, 191, 36, 0.15);
  padding: 3px 8px;
  border-radius: 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 20;
}
.tower-hud-badge::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(251, 191, 36, 0.7);
}
.hud-tag {
  font-family: 'Space Mono', monospace, monospace;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fbbf24;
  line-height: 1;
}
.hud-status {
  font-family: 'Space Mono', monospace, monospace;
  font-size: 9px;
  font-weight: 700;
  color: #f1f5f9;
  letter-spacing: 0.05em;
  line-height: 1.1;
}
.hud-hint {
  font-family: 'Space Mono', monospace, monospace;
  font-size: 7px;
  color: #94a3b8;
  letter-spacing: 0.08em;
  line-height: 1;
}

.tower-interactive-wrap:hover .tower-hud-badge,
.tower-interactive-wrap.show-hud .tower-hud-badge {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Utility Poles */
.prop-wasteland-pole {
  position: absolute;
  bottom: var(--ground-y);
  width: 20px; height: 72px;
  z-index: 3;
  image-rendering: pixelated; image-rendering: crisp-edges;
}
.pole-pos-left      { left: 14%; }
.pole-pos-mid-left  { left: 27%; }
.pole-pos-mid-right { left: 63%; }
.pole-pos-right     { left: 79%; }

/* Power Cables SVG */
.wasteland-cables-svg {
  position: absolute;
  left: 0; right: 0; bottom: var(--ground-y);
  width: 100%; height: 140px;
  pointer-events: none; z-index: 3;
}

/* Derelict vehicles */
.prop-wasteland-car {
  position: absolute; left: 62%; bottom: var(--ground-y);
  width: 48px; height: 21px; z-index: 5;
  image-rendering: pixelated; image-rendering: crisp-edges;
}
.prop-wasteland-buggy {
  position: absolute; left: 74%; bottom: var(--ground-y);
  width: 34px; height: 19px; z-index: 5;
  image-rendering: pixelated; image-rendering: crisp-edges;
}

/* Wasteland ground tile */
.footer-ground-line.wasteland-ground {
  background-image: url('./assets/wasteland/wasteland-ground-bed.png') !important;
  z-index: 8;
}

/* Actors strip */
.footer-props-strip.wasteland-actors { z-index: 6; }

/* Cyborg canvas */
.prop-cyborg {
  position: absolute; left: 0; bottom: 0;
  width: 100%; pointer-events: none;
}
.prop-cyborg canvas {
  display: block; width: 100%; height: 96px;
  image-rendering: pixelated; image-rendering: crisp-edges;
}

/* Factory smoke fumes */
.smoke-puff {
  position: absolute; width: 9px; height: 9px;
  border-radius: 50%; background: rgba(110,100,88,0.55);
  z-index: 5; animation: smokeRise 3.2s ease-out infinite;
}
.smoke-stack-1  { left: 12px; bottom: calc(var(--ground-y) + 168px); animation-delay: 0s; }
.smoke-stack-2  { left: 38px; bottom: calc(var(--ground-y) + 165px); animation-delay: 1.4s; }
.smoke-stack-1b { left: 14px; bottom: calc(var(--ground-y) + 170px); animation-delay: 1.6s; width: 6px; height: 6px; }
.smoke-stack-2b { left: 40px; bottom: calc(var(--ground-y) + 167px); animation-delay: 3.0s; width: 6px; height: 6px; }

@keyframes smokeRise {
  0%   { transform: translateY(0)     scale(1);    opacity: 0.60; }
  35%  { transform: translateY(-18px) scale(1.55); opacity: 0.38; }
  70%  { transform: translateY(-40px) scale(2.30); opacity: 0.18; }
  100% { transform: translateY(-62px) scale(3.10); opacity: 0;    }
}

@media (prefers-reduced-motion: reduce) {
  .smoke-puff { animation: none; opacity: 0; }
}

/* ════════════════════════════════════════════════════════════════════
   ABANDONED DROID HEAD RELIC (SAND BED BEDDING & OPTIC SENSOR)
   ════════════════════════════════════════════════════════════════════ */
.prop-droid-head {
  position: absolute;
  left: 81%;
  bottom: var(--ground-y);
  width: 33px;
  height: 41px;
  z-index: 3;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  outline: none;
  transition: transform 0.2s ease;
}

.prop-droid-head:focus-visible {
  outline: 2px dashed #ff3b3b;
  outline-offset: 3px;
}

.prop-droid-head:hover {
  transform: translateY(-1px) scale(1.03);
}

.droid-head-img {
  width: 33px;
  height: 41px;
  display: block;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
}

/* Localized Interactive Red-Eye Optic Sensor */
.droid-head-eye {
  position: absolute;
  left: 52%;
  top: 43.5%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  margin-top: -2.5px;
  border-radius: 50%;
  background: #7a1414;
  box-shadow: 0 0 2px rgba(255, 30, 30, 0.4);
  pointer-events: none;
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

/* Faint ambient idle sensor flicker */
@keyframes droidEyeIdlePulse {
  0%, 100% {
    opacity: 0.65;
    box-shadow: 0 0 2px rgba(255, 30, 30, 0.4);
  }
  50% {
    opacity: 0.95;
    box-shadow: 0 0 4px rgba(255, 40, 40, 0.7);
  }
}

.prop-droid-head .droid-head-eye {
  animation: droidEyeIdlePulse 3.8s ease-in-out infinite;
}

/* Active / Hover / Focus / Click state: Focused authentic deep-red sensor activation */
.prop-droid-head:hover .droid-head-eye,
.prop-droid-head:focus-visible .droid-head-eye,
.prop-droid-head.active-sensor .droid-head-eye {
  background: #ff2a2a;
  box-shadow: 0 0 6px 2px rgba(255, 42, 42, 0.9), 0 0 12px rgba(255, 20, 20, 0.5);
  animation: droidEyeActivePulse 0.8s ease-in-out infinite alternate;
}

@keyframes droidEyeActivePulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 5px 2px rgba(255, 42, 42, 0.8);
  }
  100% {
    transform: scale(1.2);
    box-shadow: 0 0 9px 3px rgba(255, 50, 50, 1.0), 0 0 16px rgba(255, 20, 20, 0.6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .prop-droid-head,
  .prop-droid-head .droid-head-eye {
    animation: none !important;
    transition: none !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   INDUSTRIAL LAUNCH & NAVIGATION BEACON (Transition Landmark)
   ════════════════════════════════════════════════════════════════════ */
.prop-wasteland-beacon {
  position: absolute;
  left: 20.5%;
  bottom: var(--ground-y);
  width: 58px;
  height: 184px;
  z-index: 2; /* Sits behind power cables (z-index 3) and walking actors (z-index 6) */
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.75));
}

.beacon-sprite-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.beacon-sprite-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
  pointer-events: none;
}

/* Concentrated Warning RED Beacon Pulse (Placed over lamp housing at relX: 49.6%, relY: 21.4%) */
.beacon-amber-lamp,
.beacon-red-lamp {
  position: absolute;
  top: 21.4%;
  left: 49.6%;
  transform: translate(-50%, -50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 4px #ef4444, 0 0 8px rgba(239, 68, 68, 0.75), 0 0 14px rgba(220, 38, 38, 0.45);
  pointer-events: none;
  animation: beaconRedBreathe 2.4s ease-in-out infinite;
}

@keyframes beaconRedBreathe {
  0%, 100% {
    opacity: 0.35;
    transform: translate(-50%, -50%) scale(0.9);
    box-shadow: 0 0 3px #ef4444, 0 0 6px rgba(239, 68, 68, 0.4);
  }
  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.2);
    box-shadow: 0 0 6px #f87171, 0 0 12px rgba(239, 68, 68, 0.95), 0 0 20px rgba(220, 38, 38, 0.6);
  }
}

/* Subtle Control Box Status LED (relX: 40.5%, relY: 75.3%) */
.beacon-status-led {
  position: absolute;
  top: 75.3%;
  left: 40.5%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #06b6d4;
  box-shadow: 0 0 2px #22d3ee;
  pointer-events: none;
  animation: beaconLedFlicker 4.2s ease-in-out infinite;
}

@keyframes beaconLedFlicker {
  0%, 100% { opacity: 0.9; }
  22%      { opacity: 0.4; }
  24%      { opacity: 1; }
  58%      { opacity: 0.85; }
  60%      { opacity: 0.2; }
  62%      { opacity: 0.9; }
}

/* Ground shadow under beacon base */
.beacon-ground-shadow {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 6px;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.7) 0%, transparent 80%);
  filter: blur(1px);
  pointer-events: none;
  z-index: -1;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .beacon-amber-lamp,
  .beacon-status-led {
    animation: none !important;
    opacity: 0.85;
  }
  .wasteland-satellite-drift {
    animation: none !important;
  }
  .prop-wasteland-hovercar {
    animation: none !important;
    left: auto !important;
    right: 25% !important;
  }
  .wasteland-hovercar-physics,
  .hovercar-plasma-flare {
    animation: none !important;
  }
}

/* Responsive */
@media (max-width: 1024px) {
  .footer-scenery-strip.wasteland-scenery   { height: 220px !important; }
  .prop-wasteland-satellite                 { left: 19%; top: -42px; width: 23px; height: 23px; }
  .prop-wasteland-hovercar                  { top: 20px; animation-duration: 22s; }
  .hovercar-sprite-img                      { width: 60px; height: 29px; }
  .hovercar-plasma-flare                    { bottom: -2.5px; height: 6px; }
  .prop-wasteland-citadel                   { width: 115px; height: 153px; left: 51%; }
  .prop-wasteland-beacon                    { width: 48px; height: 152px; left: 20%; }
  .prop-wasteland-factory-left              { width: 105px; height: 150px; }
  .prop-wasteland-refinery-right            { width: 175px; height: 130px; }
  .prop-droid-head                          { width: 29px; height: 36px; left: 78%; }
  .droid-head-img                           { width: 29px; height: 36px; }
  .pole-pos-mid-left                        { display: none; }
  .prop-wasteland-buggy                     { display: none; }
}
@media (max-width: 768px) {
  .footer-scenery-strip.wasteland-scenery   { height: 200px !important; }
  .prop-wasteland-satellite                 { left: 20%; top: -36px; width: 20px; height: 20px; }
  .prop-wasteland-hovercar                  { top: 18px; animation-duration: 18s; }
  .hovercar-sprite-img                      { width: 52px; height: 25px; }
  .hovercar-plasma-flare                    { bottom: -1.5px; height: 4px; }
  .prop-wasteland-citadel                   { width: 95px; height: 126px; left: 49%; }
  .prop-wasteland-beacon                    { width: 38px; height: 120px; left: 18%; }
  .beacon-amber-lamp,
  .beacon-red-lamp                          { width: 3.5px; height: 3.5px; }
  .beacon-status-led                        { width: 1.5px; height: 1.5px; }
  .prop-wasteland-factory-left              { width: 85px; height: 120px; }
  .prop-wasteland-refinery-right            { width: 135px; height: 100px; right: -8px; }
  .prop-droid-head                          { width: 25px; height: 31px; left: 74%; }
  .droid-head-img                           { width: 25px; height: 31px; }
  .refinery-beacon                          { width: 3px; height: 3px; }
  .prop-wasteland-pole                      { display: none; }
  .prop-wasteland-car                       { display: none; }
  .wasteland-cables-svg                     { display: none; }
}
@media (max-width: 480px) {
  .footer-scenery-strip.wasteland-scenery   { height: 185px !important; }
  .prop-wasteland-satellite                 { left: 17%; top: -28px; width: 17px; height: 17px; }
  .prop-wasteland-hovercar                  { top: 12px; animation-duration: 15s; }
  .hovercar-sprite-img                      { width: 42px; height: 20px; }
  .hovercar-plasma-flare                    { bottom: -1.5px; height: 4.5px; }
  .prop-wasteland-beacon                    { width: 28px; height: 90px; left: 14%; }
  .beacon-amber-lamp,
  .beacon-red-lamp                          { width: 2.5px; height: 2.5px; }
  .prop-wasteland-factory-left              { display: none; }
  .smoke-puff                               { display: none; }
  .prop-wasteland-refinery-right            { width: 105px; height: 78px; right: -6px; }
  .prop-wasteland-citadel                   { width: 75px; height: 100px; left: 46%; }
  .prop-droid-head                          { width: 22px; height: 28px; left: 70%; }
  .droid-head-img                           { width: 22px; height: 28px; }
  .refinery-beacon                          { width: 2.5px; height: 2.5px; }
}
@media (max-width: 360px) {
  .footer-scenery-strip.wasteland-scenery   { height: 175px !important; }
  .prop-wasteland-satellite                 { left: 15%; top: -24px; width: 15px; height: 15px; }
  .prop-wasteland-hovercar                  { top: 10px; animation-duration: 14s; }
  .hovercar-sprite-img                      { width: 36px; height: 18px; }
  .hovercar-plasma-flare                    { bottom: -1.5px; height: 4px; }
  .prop-wasteland-beacon                    { width: 24px; height: 76px; left: 12%; }
  .prop-wasteland-refinery-right            { width: 95px; height: 70px; right: -4px; }
  .prop-wasteland-citadel                   { width: 68px; height: 90px; left: 44%; }
  .prop-droid-head                          { display: none; }
}

