/* Nova Trading homepage — progressive WebGPU current field */
.hero.site-split-hero {
  --shader-x: 72%;
  --shader-y: 36%;
}

.home-shader-layer {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  contain: paint;
}

.home-shader-canvas,
.home-shader-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-shader-canvas {
  display: block;
  opacity: 0;
  filter: saturate(1.08) contrast(1.03);
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.42), #000 42%, #000);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.42), #000 42%, #000);
  transition: opacity .8s ease;
  will-change: opacity;
}

.home-shader-fallback {
  inset: -8%;
  width: 116%;
  height: 116%;
  background:
    radial-gradient(circle 34vw at var(--shader-x) var(--shader-y), rgba(105,205,246,.105), transparent 72%),
    radial-gradient(ellipse 54% 24% at 68% 42%, rgba(232,103,14,.13), transparent 70%),
    radial-gradient(ellipse 46% 18% at 76% 57%, rgba(105,205,246,.055), transparent 72%);
  filter: blur(14px);
  opacity: .9;
  transform: scale(1.04);
  transition: opacity .8s ease, background-position .35s ease-out;
}

.home-shader-fallback::before {
  content: '';
  position: absolute;
  width: min(70vw, 1040px);
  height: min(24vw, 360px);
  top: 24%;
  right: -9%;
  border-top: 1px solid rgba(105,205,246,.18);
  border-radius: 50%;
  filter: drop-shadow(0 0 18px rgba(105,205,246,.08));
  transform: rotate(-8deg);
}

.home-shader-webgpu .home-shader-canvas { opacity: .92; }
.home-shader-webgpu .home-shader-fallback { opacity: .26; }
.home-shader-webgpu .hero-effects { opacity: .28; }
.home-shader-webgpu .home-hero-stage > .hero-signal { opacity: .58; }

.hero.site-split-hero::before { z-index: 0; }
.site-split-hero .hero-effects { z-index: 1; }
.site-split-hero .home-hero-layout { z-index: 2; }

@media (max-width: 980px) {
  .home-shader-canvas { display: none; }
  .home-shader-fallback {
    inset: -4%;
    width: 108%;
    height: 108%;
    background:
      radial-gradient(circle 78vw at 78% 28%, rgba(232,103,14,.13), transparent 72%),
      radial-gradient(circle 74vw at 82% 62%, rgba(105,205,246,.07), transparent 74%);
    filter: blur(10px);
    opacity: .72;
  }
  .home-shader-fallback::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home-shader-canvas { display: none; }
  .home-shader-fallback { transition: none; transform: none; }
}

@media (forced-colors: active), print {
  .home-shader-layer { display: none; }
}
