/* ===== Lightning styles ===== */
    .el-bolt {
      position: fixed;
      left: 0;
      top: 0;
      pointer-events: none;
      z-index: 999999;
      filter:
        drop-shadow(0 0 3px #a8e0ff)
        drop-shadow(0 0 8px #4db8ff)
        drop-shadow(0 0 18px #1a8cff);
    }
    .el-glow {
      position: fixed;
      width: 14px;
      height: 14px;
      margin: -7px 0 0 -7px;
      border-radius: 50%;
      pointer-events: none;
      z-index: 999998;
      background: radial-gradient(
        circle,
        rgba(180, 230, 255, 0.95),
        rgba(80, 170, 255, 0.45) 45%,
        rgba(30, 120, 255, 0) 70%
      );
      box-shadow: 0 0 0 2px rgba(120, 200, 255, 0.6);
      transform: translate(-50%, -50%) scale(0.3);
      animation: elGlow 0.5s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;
    }
    @keyframes elGlow {
      to {
        transform: translate(-50%, -50%) scale(7);
        opacity: 0;
      }
    }
    .el-spark {
      position: fixed;
      width: 2px;
      height: 12px;
      margin: -6px 0 0 -1px;
      border-radius: 2px;
      pointer-events: none;
      z-index: 999999;
      background: linear-gradient(#e0f4ff, rgba(50, 140, 255, 0));
      box-shadow: 0 0 4px #6ec8ff;
      animation: elSpark 0.5s ease-out forwards;
    }
    @keyframes elSpark {
      0% { transform: rotate(var(--a)) translateY(-6px); opacity: 0; }
      25% { opacity: 1; }
      100% { transform: rotate(var(--a)) translateY(calc(var(--d) * -1)); opacity: 0; }
    }