.sun-glare {
  position: absolute;
  top: 150px;  /* положение блика по Y */
  left: 200px; /* положение блика по X */
  width: 300px;
  height: 300px;
  pointer-events: none;
  z-index: 5;
  mix-blend-mode: screen;
}

.glare-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 80%);
  border-radius: 50%;
  animation: pulseCore 2.5s infinite ease-in-out;
}

.glare-rays {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 300px;
  transform: translate(-50%, -50%) rotate(0deg);
  background: conic-gradient(
    rgba(255,255,255,0.3) 0deg,
    rgba(255,255,255,0) 30deg,
    rgba(255,255,255,0.3) 60deg,
    rgba(255,255,255,0) 90deg,
    rgba(255,255,255,0.3) 120deg,
    rgba(255,255,255,0) 150deg,
    rgba(255,255,255,0.3) 180deg,
    rgba(255,255,255,0) 210deg,
    rgba(255,255,255,0.3) 240deg,
    rgba(255,255,255,0) 270deg,
    rgba(255,255,255,0.3) 300deg,
    rgba(255,255,255,0) 330deg
  );
  border-radius: 50%;
  animation: rotateRays 10s linear infinite;
}

@keyframes rotateRays {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes pulseCore {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  50%      { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
}