/**
 * WindForge — mobile motion softening (W3, 1.4.8).
 *
 * Companion to assets/css/windforge-motion.css, NOT a replacement for it.
 * Load AFTER windforge-motion.css (see MOBILE_CSS.md). Desktop behaviour
 * is untouched: every rule below lives inside a small-screen or
 * coarse-pointer media query.
 *
 * What this covers that windforge-motion.css does not: today only the
 * float animation is softened on mobile (translateY -12px -> -6px below
 * 640px). The two expensive effects below had no mobile treatment at all.
 *
 * 1. Particle NETWORK canvases: the network pass is O(n^2) pairwise
 *    distance checks per frame (up to 200 particles). Hiding the canvas
 *    also pauses its rAF loop in practice: windforge-motion.js already
 *    stops the loop when the canvas is not intersecting, and a
 *    display:none element never intersects.
 *    Dot-only particle fields (data-wf-particle-network="0") are left
 *    alone — they are O(n) and cheap.
 * 2. Blur scroll effects ([data-tc-scroll="blur"], Frontend.php
 *    interactive_js): the frontend handler writes an INLINE filter style,
 *    so only !important can override it from a stylesheet. This sets the
 *    filter back to none on small/coarse devices; the element keeps its
 *    position and content, it just stops blurring on scroll.
 */

/* Small screens — matches the 640px breakpoint already used for float. */
@media (max-width: 640px) {
  canvas[data-wf-particles][data-wf-particle-network="1"] {
    display: none;
  }
  [data-tc-scroll="blur"] {
    filter: none !important;
  }
}

/* Coarse-pointer devices (phones/tablets) at any width. A touchscreen
 * laptop keeps its fine primary pointer, so this does not change
 * desktop-mouse behaviour; it only catches touch-first devices wider
 * than 640px (e.g. large tablets). */
@media (pointer: coarse) {
  canvas[data-wf-particles][data-wf-particle-network="1"] {
    display: none;
  }
  [data-tc-scroll="blur"] {
    filter: none !important;
  }
}
