.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid var(--text-primary);
  opacity: 0.5;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  
  /* Use will-change to tell the browser this element moves constantly */
  will-change: transform;
  
  /* This ensures the transition only applies to scale/color, 
     not the movement itself (which JS handles) */
  transition: transform 0.2s ease-out, background-color 0.2s ease;
}