/* NEXERA FC V281 — PRO MOTION / eFOOTBALL ARENA
   Visual-only layer. No Firebase/data/feature logic changed. */
:root{--nx281-cyan:#17e7ff;--nx281-blue:#1687ff;--nx281-violet:#7b3cff;--nx281-pink:#ff2ea6;--nx281-green:#12e7a0;--nx281-gold:#ffd34d}
#nx281-fx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.95}
.nx281-light{position:absolute;width:38vw;height:38vw;border-radius:50%;filter:blur(75px);opacity:.16;mix-blend-mode:screen;animation:nx281Float 12s ease-in-out infinite alternate}
.nx281-light.a{left:-12vw;top:8vh;background:#008dff}.nx281-light.b{right:-13vw;top:28vh;background:#8d3dff;animation-delay:-4s}.nx281-light.c{left:30vw;bottom:-24vw;background:#00e7b0;animation-delay:-8s}
.nx281-streaks{position:absolute;inset:0;background:repeating-linear-gradient(112deg,transparent 0 120px,rgba(20,225,255,.035) 121px,transparent 123px 230px);transform:skewX(-12deg);animation:nx281Streak 9s linear infinite}
.nx281-lines{position:absolute;left:-10%;right:-10%;bottom:-14%;height:58%;background-image:linear-gradient(rgba(28,210,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(28,210,255,.12) 1px,transparent 1px);background-size:52px 52px;transform:perspective(520px) rotateX(63deg);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 75%,transparent)}
.nx281-ball{position:absolute;right:7%;top:16%;font-size:42px;filter:drop-shadow(0 0 20px rgba(23,231,255,.7));animation:nx281Ball 10s cubic-bezier(.45,.05,.55,.95) infinite}
.nx281-ball:after{content:"";position:absolute;width:90px;height:8px;right:25px;top:38px;border-radius:50%;background:rgba(22,160,255,.25);filter:blur(8px);transform:rotate(-15deg)}
.nx281-scan{position:absolute;left:0;right:0;top:-3px;height:3px;background:linear-gradient(90deg,transparent,#1deaff,transparent);box-shadow:0 0 28px #18ddff;animation:nx281Scan 8s linear infinite}
@keyframes nx281Float{to{transform:translate3d(70px,35px,0) scale(1.12)}}
@keyframes nx281Streak{from{background-position:0 0}to{background-position:700px 0}}
@keyframes nx281Ball{0%{transform:translate3d(0,0,0) rotate(0)}35%{transform:translate3d(-120px,115px,0) rotate(190deg)}68%{transform:translate3d(-30px,260px,0) rotate(390deg)}100%{transform:translate3d(0,0,0) rotate(720deg)}}
@keyframes nx281Scan{0%{top:-3px;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:100%;opacity:0}}
/* Premium top chrome */
.topbar{background:rgba(2,8,20,.78)!important;border-bottom:1px solid rgba(53,222,255,.16)!important;backdrop-filter:blur(22px)!important;box-shadow:0 8px 35px rgba(0,0,0,.22)!important}
.brand img,.brand .logo,.headerProfileBtn img{filter:drop-shadow(0 0 10px rgba(23,231,255,.35))}
/* Home hero gets real motion layers */
#home .n119TournamentBanner{isolation:isolate!important;transform:translateZ(0);box-shadow:0 25px 80px rgba(0,0,0,.45),0 0 70px rgba(23,231,255,.08)!important}
#home .n119TournamentBanner:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(23,231,255,.13) 50%,transparent 70%);transform:translateX(-120%);animation:nx281HeroSweep 5.5s ease-in-out infinite;z-index:1;pointer-events:none}
@keyframes nx281HeroSweep{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
#home .n119Quick{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important}
#home .n119Quick:hover{transform:translateY(-6px) scale(1.015)!important;box-shadow:0 20px 45px rgba(0,0,0,.4),0 0 28px rgba(23,231,255,.1)!important;border-color:rgba(23,231,255,.42)!important}
#home .n119NextMatch{position:relative;overflow:hidden}
#home .n119NextMatch:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(23,231,255,.07),transparent);transform:translateX(-100%);animation:nx281MatchSweep 4.5s linear infinite;pointer-events:none}
@keyframes nx281MatchSweep{to{transform:translateX(100%)}}
/* Live status */
.liveDot,.live,.status-live,[class*="live"] .liveDot{animation:nx281Live 1.15s ease-in-out infinite!important}
@keyframes nx281Live{50%{opacity:.45;box-shadow:0 0 2px currentColor;transform:scale(.82)}}
/* Score / cards */
.score,.scoreBox,.matchScore,[class*="score"]{font-variant-numeric:tabular-nums}
.card,.tournamentHero,.nexaBidIntro,.nexaBidAction{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important}
.card:hover,.tournamentHero:hover,.nexaBidAction:hover{transform:translateY(-3px)!important;border-color:rgba(23,231,255,.3)!important;box-shadow:0 20px 48px rgba(0,0,0,.34),0 0 24px rgba(23,231,255,.06)!important}
/* Bid spotlight */
#bid .nexaBidIntro{box-shadow:inset 0 1px rgba(255,255,255,.08),0 24px 70px rgba(0,0,0,.35)!important}
#bid .nexaBidAction.live{animation:nx281BidGlow 2.4s ease-in-out infinite}
@keyframes nx281BidGlow{50%{box-shadow:0 0 35px rgba(255,46,166,.18),0 20px 50px rgba(0,0,0,.35)}}
/* Nav */
.bottomNav,.bottom-nav{backdrop-filter:blur(20px)!important;background:rgba(2,8,20,.86)!important;border-top:1px solid rgba(53,222,255,.14)!important}
/* Accessibility */
@media(prefers-reduced-motion:reduce){#nx281-fx,.nx281-ball,.nx281-scan,.nx281-streaks,.nx281-light,#home .n119TournamentBanner:after,#home .n119NextMatch:before{animation:none!important}.card,.n119Quick,.tournamentHero,.nexaBidAction{transition:none!important}}
@media(max-width:700px){.nx281-ball{font-size:27px;right:3%;top:23%}.nx281-lines{bottom:-8%;height:48%;background-size:34px 34px}.nx281-light{filter:blur(50px)}}

/* V282 MOTION VISIBILITY FIX — make the animation actually visible above page backgrounds */
#nx281-fx{z-index:0!important;opacity:1!important;display:block!important;visibility:visible!important}
#authScreen,#app{position:relative!important;z-index:2!important}
#nx281-fx .nx281-ball{z-index:8!important;display:block!important;visibility:visible!important}
#nx281-fx:before{content:"";position:absolute;left:50%;top:18%;width:34vmin;height:34vmin;transform:translate(-50%,-50%);border:1px solid rgba(23,231,255,.16);border-radius:50%;box-shadow:0 0 0 18px rgba(23,231,255,.025),0 0 0 42px rgba(123,60,255,.018);animation:nx282Pulse 3s ease-in-out infinite;}
#nx281-fx:after{content:"";position:absolute;left:-15%;top:62%;width:130%;height:1px;background:linear-gradient(90deg,transparent,rgba(23,231,255,.75),transparent);box-shadow:0 0 18px rgba(23,231,255,.55);transform:rotate(-7deg);animation:nx282Sweep 3.2s linear infinite;}
.nx281-ball{will-change:transform!important;z-index:9!important;animation:nx281Ball 5s cubic-bezier(.45,.05,.55,.95) infinite!important}
.nx281-streaks{opacity:.75!important;animation:nx281Streak 4s linear infinite!important}
.nx281-lines{opacity:.65!important;animation:nx282Grid 7s linear infinite!important}
.nx281-scan{animation:nx281Scan 3.5s linear infinite!important}
@keyframes nx282Pulse{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(.82)}50%{opacity:.75;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes nx282Sweep{0%{transform:translateX(-30%) rotate(-7deg);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(30%) rotate(-7deg);opacity:0}}
@keyframes nx282Grid{from{background-position:0 0}to{background-position:0 52px}}
@media(max-width:700px){#nx281-fx{opacity:.9!important}.nx281-ball{font-size:34px!important}.nx281-lines{opacity:.45!important}}
.nx282-ball2{right:28%!important;top:62%!important;font-size:24px!important;animation:nx282Ball2 6.5s ease-in-out infinite!important;opacity:.78}
.nx282-ball3{right:74%!important;top:32%!important;font-size:18px!important;animation:nx282Ball3 8s ease-in-out infinite!important;opacity:.55}
@keyframes nx282Ball2{0%,100%{transform:translate3d(0,0,0) rotate(0)}30%{transform:translate3d(-110px,-55px,0) rotate(180deg)}65%{transform:translate3d(-210px,35px,0) rotate(390deg)}100%{transform:translate3d(0,0,0) rotate(720deg)}}
@keyframes nx282Ball3{0%,100%{transform:translate3d(0,0,0) scale(1)}45%{transform:translate3d(150px,90px,0) scale(1.35)}75%{transform:translate3d(40px,170px,0) scale(.8)}}
