/* RBS Forum R8 — animated premium background.
   Lightweight decorative layer behind all site content.
   No module logic changed. */

body.rbs-modern {
  position: relative;
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 20%, rgba(120, 70, 200, .12), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(41, 176, 255, .08), transparent 20%),
    linear-gradient(180deg, #0c0f19 0%, #0a0d16 42%, #090c14 100%);
  overflow-x: hidden;
}
body.rbs-modern > .wapper {
  position: relative;
  z-index: 1;
}
.rbs-site-bg {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.015), transparent 58%),
    linear-gradient(180deg, rgba(6,8,14,.05), rgba(6,8,14,.18));
}
.rbs-site-bg__layer,
.rbs-site-bg__stars,
.rbs-site-bg__star {
  position: absolute;
}
.rbs-site-bg__layer--aurora {
  width: 58vw;
  height: 58vw;
  min-width: 540px;
  min-height: 540px;
  border-radius: 50%;
  filter: none;
  opacity: .34;
  mix-blend-mode: normal;
  animation: none;
}
.rbs-site-bg__layer--one {
  top: -12%;
  left: -12%;
  background: radial-gradient(circle, rgba(192, 76, 255, .45) 0%, rgba(192, 76, 255, .14) 38%, transparent 70%);
  animation-duration: 24s;
}
.rbs-site-bg__layer--two {
  top: 16%;
  right: -15%;
  background: radial-gradient(circle, rgba(66, 230, 213, .36) 0%, rgba(66, 230, 213, .12) 42%, transparent 72%);
  animation-duration: 29s;
}
.rbs-site-bg__layer--three {
  bottom: -20%;
  left: 24%;
  background: radial-gradient(circle, rgba(84, 116, 255, .28) 0%, rgba(84, 116, 255, .10) 40%, transparent 72%);
  animation-duration: 34s;
}
.rbs-site-bg__layer--grid {
  inset: 0;
  opacity: .16;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.85), rgba(0,0,0,.1));
  animation: none;
}
.rbs-site-bg__layer--glow {
  inset: 0;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.06), transparent 20%),
    radial-gradient(circle at 12% 72%, rgba(191, 75, 255, .08), transparent 18%),
    radial-gradient(circle at 84% 68%, rgba(58, 214, 241, .08), transparent 16%);
  opacity: .85;
  animation: rbsPulseGlow 15s ease-in-out infinite alternate;
}
.rbs-site-bg__stars {
  inset: 0;
}
.rbs-site-bg__star {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(255,255,255,.18) 58%, transparent 70%);
  box-shadow: 0 0 14px rgba(255,255,255,.25);
  opacity: .45;
  animation: rbsFloatStar 18s ease-in-out infinite;
}
.rbs-site-bg__star::after {
  content: "";
  position: absolute;
  inset: -14px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.14), transparent 70%);
}
.rbs-site-bg__star.s1 { top: 12%; left: 8%; animation-duration: 20s; }
.rbs-site-bg__star.s2 { top: 24%; left: 31%; width: 4px; height: 4px; animation-duration: 15s; }
.rbs-site-bg__star.s3 { top: 16%; right: 18%; width: 5px; height: 5px; animation-duration: 23s; }
.rbs-site-bg__star.s4 { top: 52%; left: 12%; width: 7px; height: 7px; animation-duration: 21s; }
.rbs-site-bg__star.s5 { top: 62%; right: 11%; width: 4px; height: 4px; animation-duration: 17s; }
.rbs-site-bg__star.s6 { bottom: 18%; left: 26%; width: 5px; height: 5px; animation-duration: 19s; }
.rbs-site-bg__star.s7 { bottom: 28%; right: 32%; width: 6px; height: 6px; animation-duration: 24s; }
.rbs-site-bg__star.s8 { bottom: 10%; right: 7%; width: 4px; height: 4px; animation-duration: 16s; }

@keyframes rbsAuroraMove {
  0%   { transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
  35%  { transform: translate3d(4%, -2%, 0) scale(1.06) rotate(8deg); }
  70%  { transform: translate3d(-3%, 4%, 0) scale(.98) rotate(-6deg); }
  100% { transform: translate3d(6%, -4%, 0) scale(1.08) rotate(12deg); }
}
@keyframes rbsGridDrift {
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(40px, 24px, 0); }
}
@keyframes rbsPulseGlow {
  0%   { opacity: .55; transform: scale(1); }
  100% { opacity: .9; transform: scale(1.02); }
}
@keyframes rbsFloatStar {
  0%   { transform: translate3d(0,0,0); opacity: .32; }
  25%  { opacity: .58; }
  50%  { transform: translate3d(10px, -16px, 0); opacity: .48; }
  75%  { opacity: .7; }
  100% { transform: translate3d(-8px, 10px, 0); opacity: .34; }
}

/* Respect reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .rbs-site-bg__layer--aurora,
  .rbs-site-bg__layer--grid,
  .rbs-site-bg__layer--glow,
  .rbs-site-bg__star { animation: none !important; }
}

/* Mobile tuning */
@media (max-width: 767.98px) {
  .rbs-site-bg__layer--aurora {
    width: 82vw;
    height: 82vw;
    min-width: 320px;
    min-height: 320px;
    filter: none;
    opacity: .28;
  }
  .rbs-site-bg__layer--grid {
    background-size: 56px 56px;
    opacity: .11;
  }
  .rbs-site-bg__star {
    box-shadow: 0 0 10px rgba(255,255,255,.16);
  }
}
