body {
  margin: 0;
  overflow: hidden;
  font-family: 'Orbitron', sans-serif;
  background: radial-gradient(circle at center, #111 0%, #000 100%);
  color: #fff;
}

/* Glitch Text */
.glitch-text {
  position: absolute;
  top: 40px;
  width: 100%;
  text-align: center;
  font-size: 3em;
  color: #fff;
  text-shadow: 0 0 5px #0ff, 0 0 10px #f0f;
  animation: glitchAnim 1s infinite;
}

@keyframes glitchAnim {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(2px, -2px); }
  60% { transform: translate(-1px, 1px); }
  80% { transform: translate(1px, -1px); }
  100% { transform: translate(0, 0); }
}

/* Scene Objects */
.scene {
  position: relative;
  width: 100%;
  height: 400px;
  margin-top: 100px;
}

.object {
  position: absolute;
  bottom: 60px;
  width: 100px;
  height: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 0 10px #fff);
}

.broken-house {
  left: 50px;
  background-image: url('https://cdn-icons-png.freepik.com/256/16659/16659650.png?semt=ais_white_label');
}

.truck {
  animation: drive 6s ease-in-out infinite;
  background-image: url('https://cdn-icons-png.flaticon.com/512/2554/2554978.png');
}

.good-house {
  right: 50px;
  background-image: url('https://cdn-icons-png.flaticon.com/512/1058/1058604.png');
}

@keyframes drive {
  0% { left: 60px; transform: scale(1); }
  50% { left: calc(50% - 50px); transform: scale(1.2); }
  100% { left: calc(100% - 160px); transform: scale(1); }
}

/* Vortex Background */
.vortex {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: radial-gradient(circle, #0ff 0%, #000 80%);
  animation: spin 20s linear infinite;
  z-index: -3;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Scanlines */
.scanlines {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.03),
    rgba(255,255,255,0.03) 1px,
    transparent 1px,
    transparent 2px
  );
  mix-blend-mode: overlay;
  z-index: 999;
  pointer-events: none;
}

/* Canvas */
canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
