:root {
  --red: #e50914;
  --logo-glow: rgba(229, 9, 20, 0.5);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 46%, rgba(229, 9, 20, 0.12), transparent 24rem),
    radial-gradient(circle at 18% 78%, rgba(120, 0, 12, 0.18), transparent 22rem),
    linear-gradient(180deg, #050505 0%, #010101 56%, #070102 100%);
  overflow: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255, 42, 58, 0.82) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(229, 9, 20, 0.45) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255, 90, 100, 0.28) 0 1px, transparent 2.2px);
  background-position: 0 0, 34px 52px, 78px 18px;
  background-size: 120px 120px, 180px 180px, 260px 260px;
  opacity: 0.42;
  animation: dust-drift 28s linear infinite;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0%, rgba(0, 0, 0, 0.08) 38%, rgba(0, 0, 0, 0.78) 100%),
    radial-gradient(circle at 50% 48%, rgba(229, 9, 20, 0.1), transparent 28rem);
}

.splash {
  display: grid;
  position: relative;
  min-height: 100vh;
  padding: 24px;
  place-items: center;
}

.logo {
  display: block;
  width: min(760px, 92vw);
  filter: drop-shadow(0 0 32px var(--logo-glow));
  animation: logo-float 5s ease-in-out infinite;
}

@keyframes dust-drift {
  from {
    background-position: 0 0, 34px 52px, 78px 18px;
  }

  to {
    background-position: 240px -360px, -146px -228px, 338px -502px;
  }
}

@keyframes logo-float {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-12px) scale(1.02);
  }
}
