div.send looks like a button but is a div with a text cursor: it can't be focused, ignores Enter and screen readers don't announce it.

<button type="submit"> (or <a href> if it navigates) with the same style.In use: 4px ×3, 6px ×1, 8px ×1, 10px ×1, 12px ×4, 16px ×1, 20px ×1. Close values (10, 12, 16) read as mistakes, not choices.



--r-sm, --r-md, --r-lg, --r-pill), and each component picks one.An element with a 12px radius inside a 16px one, 10px from its edge. The corners aren't parallel and the inner one looks swollen.

16 − 10 = 6px, or calc(var(--r-lg) - var(--pad)).rgba(0, 0, 0, 0.5) 0px 2px 4px 0px: black at high opacity with little blur reads as a dirty edge, not depth.

Values like 11px ×7, 5px ×6, 26px ×5, 13px ×4, 22px ×4, 23px ×4, 14px ×3, 18px ×3. Almost equal to their neighbors on the scale, they create 1 to 3px misalignments.



4 8 12 16 24 32 48 64) and tokens for it.Height, radius and font size: 46px · 6px · 15.5px, 46px · pill · 14px, 46px · 8px · 15px.



Nothing changes when the pointer is over them: they feel dead.


:hover (background 6 to 10% darker), :active 1px down, and a 150ms transition on the properties that change.The icon sits 3.2px below the center of the text line.

display:inline-flex; align-items:center on the button.Made by /coleoni-polish · skills.coleoni.com