/* ===============================
   BASE
   =============================== */
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  background: #0b0f0a;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ===============================
   BACKGROUND GRID
   =============================== */
.kripi-bg {
  position: fixed;
  inset: 0;
  background-color: #0b0f0a;
  background-image:
    linear-gradient(rgba(180,255,60,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180,255,60,0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  animation: gridScroll 60s linear infinite;
  overflow: hidden;
  z-index: 0;
}

@keyframes gridScroll {
  from { background-position: 0 0; }
  to   { background-position: 400px 400px; }
}

/* Vignette */
.kripi-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center,
    rgba(0,0,0,0) 35%,
    rgba(0,0,0,.75) 100%);
}

/* ===============================
   PARTICLES
   =============================== */
.kripi-bg .particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.kripi-bg .particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: #e2ff5c;
  border-radius: 50%;
  opacity: .6;
  animation: floatParticle linear infinite;
}

@keyframes floatParticle {
  from {
    transform: translateY(110vh);
    opacity: 0;
  }
  20% { opacity: .6; }
  to {
    transform: translateY(-120vh);
    opacity: 0;
  }
}
