1. Mechanisme — kopieer 1-op-1, geen styling-keuzes
// Mechanisme: form-success-burst-minimal
import gsap from 'https://esm.sh/gsap@3.12.5';
// Pas toe op je eigen selector — geen stijlkeuzes hier.
if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
document.querySelectorAll('.float-field').forEach(f=>{const i=f.querySelector('input,textarea'),l=f.querySelector('label');if(!i||!l)return;const ch=()=>l.classList.toggle('up',!!i.value||document.activeElement===i);i.addEventListener('focus',ch);i.addEventListener('blur',ch);i.addEventListener('input',ch);}); 2. Skeleton — DOM + class-namen, mag herschikken
<!-- Skeleton: form-success-burst-minimal -->
<div class="demo-block">
<!-- DOM-structuur hier -->
</div>
3. Styling-template — verplicht eigen invulling per merk
/* Styling: form-success-burst-minimal */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}