7 variables. Rien de plus.
Pas de système de design. Juste des règles.
Tout le monde fait la même erreur. On défini 12 tailles de police. On défini 8 niveaux d'espacement. On défini 6 états pour les boutons. Puis personne ne s'en souvient. Puis chacun met ce qu'il veut. Puis ça devient le bordel.
Il n'y a aucune raison d'avoir 12 tailles de police. Personne ne voit la différence entre 14px et 15px. Personne ne sent la différence entre 28px et 32px.
Tu n'as besoin que de 3 valeurs. C'est tout.
C'est tout. Tout le reste se calcule. Tu ne définis plus jamais de valeur en dur. Jamais.
Pas de h1 à 3rem, h2 à 2.5rem, h3 à 2rem etc. C'est stupide. C'est arbitraire. Tu fais simplement une puissance du ratio.
Si un jour tu trouves que c'est trop grand ou trop petit,
tu changes juste --ratio de 0.05.
Tout le site s'ajuste proportionnellement.
Rien ne casse. Rien ne se déphase.
Tu ne te poses plus jamais la question.
Même principe. Pas de mt-1, mt-2, mt-3 jusqu'à mt-12. Pas de 4px, 8px, 12px, 16px, 20px, 24px, 32px. Juste des multiples.
C'est tout. 4 niveaux. Pas plus. Tu ne peux pas faire de marge de 12px. Tu ne peux pas faire de padding de 20px. Tu choisis entre 16px et 32px.
Au début ça paraît dur. Puis tu réalises que personne ne s'en rend compte. Par contre tout le monde sent que c'est cohérent.
Le truc magique :
Si tu changes --step de 8px à 6px,
tout le site respire plus.
Si tu le passes à 10px, tout devient plus solide.
Tu changes UNE SEULE VALEUR.
Tu ne définis jamais de nouvelle couleur pour un état. Jamais. Tu ne fais que modifier la luminosité et la chroma.
C'est tout. Ça marche pour n'importe quelle couleur de base. Ça marche en thème clair comme en thème sombre. Tu ne l'écris qu'une seule fois dans ta vie.
Pas de transition douce. Pas de ease-in-out de 300ms. C'est immédiat. C'est honnête. L'utilisateur sait exactement quand il a cliqué.
8px c'est bien. 6px c'est plus aérien. 10px c'est plus brutal. Pas autre chose.
1.2 est discret. 1.25 est parfait. 1.33 c'est dramatique. Pas autre chose.
Si tu écris un nombre qui n'est pas un multiple, tu as perdu.
Il faut être honnête. Ce système a un défaut majeur :
Tu ne peux plus faire de pixel perfect. Tu ne peux plus reproduire exactement la maquette du graphiste. Tu ne peux plus mettre cette marge de 17px que quelqu'un a décidé pour une raison inconnue.
Et c'est précisément pourquoi c'est mieux.