Quiet Paper Decision Modal
Quiet Paper kit
A real <button> carrying .btn-dots-thinking — the preview is the stylesheet, not a picture of it.
.btn-dots-thinking {
display: inline-flex;
align-items: center;
padding: 12px 24px;
border: 1px solid #262c38;
border-radius: 10px;
background: transparent;
color: #aeb6c4;
font-family: inherit;
font-size: 14px;
font-weight: 600;
cursor: pointer;
transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.btn-dots-thinking::after {
content: "...";
display: inline-block;
width: 0;
overflow: hidden;
white-space: nowrap;
animation: btn-dots-thinking-dots 1.4s steps(4, jump-none) infinite;
}
.btn-dots-thinking:hover {
color: #e8edf5;
border-color: #3a4356;
}
.btn-dots-thinking:active {
background: rgba(255, 255, 255, 0.04);
}
@keyframes btn-dots-thinking-dots {
0% {
width: 0;
}
100% {
width: 1.2em;
}
}
.btn-dots-thinking:focus-visible {
outline: 2px solid currentColor;
outline-offset: 3px;
}
Implementation notes
Dots Thinking uses restrained decoration that keeps the surrounding content in focus. Its rounded corners balance product-friendly softness with a clear boundary. Motion comes from a 1.4s keyframe animation. The loading, animated, text fx details are included in the copy-paste CSS.
Usage
<button class="btn-dots-thinking">Thinking</button>Pair it with the CSS tab above — the class is self-contained.
:focus-visible state. If you retain motion, include a prefers-reduced-motion override.We matched its palette, surface, geometry and motion to a complete UI system — like composing an outfit, not browsing unrelated parts.
Quiet Paper kit
Quiet Paper kit
Quiet Paper kit
Quiet Paper kit
Quiet Paper kit
Quiet Paper kit
Two optional extras load only if you allow them. Every button, preview and line of code works exactly the same either way. What each one does