/* ==========================================================================
   CubRawl · Cyberpunk atmosphere — grid, scanlines, glow accents
   Pure decoration. Nothing here affects layout or hit-testing.
   ========================================================================== */

/* perspective-style grid drifting behind the menu */
#menu::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(0,234,255,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,234,255,.075) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 0%,rgba(0,0,0,.55) 58%,transparent 84%);
  mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 0%,rgba(0,0,0,.55) 58%,transparent 84%);
  animation:gridDrift 22s linear infinite;
  opacity:.75;
}
/* a magenta horizon line under the title area */
#menu::after{
  content:'';position:fixed;left:0;right:0;top:58%;height:1px;pointer-events:none;z-index:0;
  background:linear-gradient(90deg,transparent,rgba(255,47,208,.55) 22%,rgba(0,234,255,.55) 50%,rgba(255,47,208,.55) 78%,transparent);
  box-shadow:0 0 24px rgba(255,47,208,.35);
  opacity:.45;
}
@keyframes gridDrift{
  from{background-position:0 0,0 0}
  to{background-position:0 46px,46px 0}
}

/* CRT scanlines: very light, fixed over the arena and menus */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:2147483000;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,.13) 0 1px,transparent 1px 3px);
  opacity:.28;
}
/* faint cyan corner glows */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(420px 280px at 0% 0%,rgba(0,234,255,.09),transparent 70%),
    radial-gradient(420px 280px at 100% 100%,rgba(255,47,208,.08),transparent 70%);
}

/* menu content must sit above the grid layer */
#menu>.menu-wrap{position:relative;z-index:1}

/* a slow neon sweep across primary surfaces */
.btn-prize-main::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.18) 48%,transparent 66%);
  transform:translateX(-120%);
  animation:neonSweep 5.2s ease-in-out infinite;
}
@keyframes neonSweep{
  0%,62%{transform:translateX(-120%)}
  82%,100%{transform:translateX(120%)}
}

/* pulse for live/record accents */
@keyframes neonPulse{
  from{box-shadow:0 0 0 0 rgba(0,234,255,.55),var(--shadow)}
  to{box-shadow:0 0 0 12px rgba(0,234,255,0),var(--shadow)}
}

@media (prefers-reduced-motion:reduce){
  #menu::before{animation:none}
  .btn-prize-main::after{animation:none;display:none}
  body::after{opacity:.18}
}
