/* ─────────────────────────────────────────────────────────────────────────
   Football Intelligence — Background texture (STATIC)
   Faza 5.17.c-fix

   The animated SVG-paths version flickered (72 paths × stroke-dashoffset is a
   paint-property animation over a fixed full-viewport layer = constant
   full-page repaints). Replaced with a pure-static CSS texture that never
   repaints:
     • base dark color
     • two faint brand-tinted corner glows for depth
     • a subtle diagonal hatch (inline SVG data-URI) for "tekstura"
   Painted on .app-shell::before at z-index:-1 inside the app-shell stacking
   context — no body/html mutation (the §A v1 mistake), no animation, no
   flicker. Honoured everywhere because .app-shell wraps the whole app and
   cards have their own opaque surfaces, so the texture only shows in gaps.
   ───────────────────────────────────────────────────────────────────────── */

.app-shell {
  position: relative;
  z-index: 0;
}

.app-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-color: var(--bg);
  background-image:
    radial-gradient(55% 45% at 12% -5%,  rgba(0, 229, 160, 0.055) 0%, transparent 60%),
    radial-gradient(50% 45% at 105% 108%, rgba(0, 229, 160, 0.045) 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M-1 21 L21 -1 M9 41 L41 9' stroke='%23ffffff' stroke-opacity='0.018' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: auto, auto, 40px 40px;
}

@media (prefers-reduced-motion: reduce) {
  /* nothing animated here, but keep the rule documented for future edits */
  .app-shell::before { background-attachment: scroll; }
}
