<style>
  #bff-topbar {
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 20px;
    background-color: #0a0a0a;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1;
    box-sizing: border-box;
  }
  #bff-topbar * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  #bff-topbar .bff-badge {
    color: #0a0a0a;
    background-color: #fb923c;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.02em;
    padding: 4px 8px;
    border-radius: 5px;
  }
  #bff-topbar .bff-text {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: -0.01em;
  }
  #bff-topbar .bff-sep {
    color: rgba(255, 255, 255, 0.25);
  }
  #bff-topbar .bff-desc {
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
  }
  #bff-topbar .bff-cta {
    color: #fb923c;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s ease;
  }
  #bff-topbar .bff-cta:hover {
    color: #fdba74;
  }
  #bff-topbar .bff-cta svg {
    width: 10px;
    height: 10px;
    fill: currentColor;
    transition: transform 0.2s ease;
  }
  #bff-topbar .bff-cta:hover svg {
    transform: translateX(2px);
  }
  @media (max-width: 600px) {
    #bff-topbar {
      gap: 10px;
      padding: 0 16px;
    }
    #bff-topbar .bff-desc {
      display: none;
    }
    #bff-topbar .bff-sep {
      display: none;
    }
  }
  @media (max-width: 400px) {
    #bff-topbar {
      height: 40px;
      font-size: 13px;
    }
    #bff-topbar .bff-badge {
      font-size: 10px;
      padding: 3px 6px;
    }
  }
</style>

<div id="bff-topbar">
  <span class="bff-badge">New</span>
  <span class="bff-text">Bricksfusion Studio</span>
  <span class="bff-sep">—</span>
  <span class="bff-desc">€219 until Jan 31</span>
  <a class="bff-cta" href="/pricing">
    Get Started
    <svg viewBox="0 0 320 512"><path d="M285.5 273L91.1 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.7-22.7c-9.4-9.4-9.4-24.5 0-33.9L188.5 256 34.5 101.3c-9.4-9.4-9.4-24.5 0-33.9l22.7-22.7c9.4-9.4 24.6-9.4 33.9 0L285.5 239c9.4 9.4 9.4 24.6 0 34z"/></svg>
  </a>
</div>
Graviton - Bricksfusion
HEAVY

Graviton

Creates a magnetic particle field that forms a dynamic ring around your cursor. Features 3D instanced particles using Three.js with multiple shape options including capsules, spheres, boxes, and tetrahedrons. Particles are attracted to a magnetic field and orbit with wave-like motion, depth effects, and pulsating animations. Supports auto-animation mode when the mouse is idle or outside the container.

Graviton

Move your mouse to attract the particles into a magnetic ring.

Particles

Particle Count 50-1000

Total number of particles in the scene. Higher values create denser fields but require more GPU resources. For best performance, keep below 500 on mobile devices.

Default: 300

Particle Size 0.5-10

Base scale multiplier for all particles. Larger particles are more visible but may overlap. Works in combination with pulse effects.

Default: 2

Particle Shape capsule | sphere | box | tetrahedron

Geometry used for each particle. Capsules create elongated pill shapes that align toward the cursor. Spheres are classic round particles. Boxes give a geometric feel. Tetrahedrons add angular, crystal-like appearance.

Default: capsule

Particle Variance 0-2

Size variation between particles during pulse animation. Higher values create more dynamic size differences. Set to 0 for uniform particle sizes.

Default: 1

Color color picker

Color applied to all particles. Supports hex, RGB, and HSL formats. Bright colors work best against dark backgrounds.

Default: #FF9FFC (pink)

Magnetic Field

Magnet Radius 5-50

Distance from cursor where particles start being attracted. Particles outside this radius float freely. Larger values create wider attraction zones.

Default: 10

Ring Radius 3-30

Distance from cursor where attracted particles orbit. This defines the size of the particle ring that forms around your mouse.

Default: 10

Field Strength 1-20

How tightly particles are held in the ring formation. Higher values create more uniform rings with less deviation. Lower values allow particles to spread out more naturally.

Default: 10

Animation

Wave Speed 0.1-2

Speed of the wave motion that ripples through particles in the ring. Higher values create faster, more energetic waves.

Default: 0.4

Wave Amplitude 0-3

Intensity of the wave displacement. Higher values make particles move further in and out from the ring center. Also affects Z-axis depth motion.

Default: 1

Lerp Speed 0.01-0.3

How quickly particles move toward their target positions. Lower values create smoother, more delayed motion. Higher values make particles snap into place faster.

Default: 0.1

Rotation Speed 0-2

Speed at which the entire particle ring rotates around the cursor. Set to 0 for no rotation. Positive values rotate clockwise.

Default: 0

Pulse Speed 0.5-10

Frequency of the size pulsation effect on particles. Higher values create faster breathing-like animations.

Default: 3

Depth Factor 0-3

Multiplier for Z-axis depth positioning. Higher values spread particles further in 3D space. Set to 0 for a flat 2D appearance.

Default: 1

Auto Animation

Auto Animate on/off

Enable automatic cursor movement when the mouse is idle or outside the container. The virtual cursor follows a smooth figure-eight pattern to keep the effect alive.

Default: Off

Auto Animate Delay 500-5000 ms

Time in milliseconds before auto-animation kicks in after mouse stops moving. Only applies when Auto Animate is enabled.

Default: 2000

Performance

This element uses WebGL with Three.js instanced meshes for efficient particle rendering. Features perspective camera with 35° FOV, custom capsule geometry generation, and per-frame matrix updates for smooth 60fps animation. Uses ResizeObserver for responsive container adaptation. Very resource intensive due to 3D rendering pipeline - limit to 1 instance per page. Reduce particle count on mobile devices or low-end hardware for better performance.