Motion by meaning
Flicker faintly
A subtle alertBriefly dims to 50% and comes right back, forever.
- Duration
- 1.4s
- Repeats
- Yes
- Easing
- ease-in-out
- Animates
- Scale · Opacity scale opacity
Show CSS
@keyframes onoma-chirachira {
0% { transform: scale(1, 1); opacity: 1; }
42% { transform: scale(1, 1); opacity: 1; }
50% { transform: scale(0.97, 0.97); opacity: 0.5; }
58% { transform: scale(1, 1); opacity: 1; }
100% { transform: scale(1, 1); opacity: 1; }
}
.onoma-chirachira {
animation: onoma-chirachira 1.4s ease-in-out infinite both;
}
/* Reduced motion: no motion */
@media (prefers-reduced-motion: reduce) {
.onoma-chirachira { animation: none; }
}Flakes flutter down
A seasonal effectSways 5 times (width 20%, tilt up to 20°) while falling 200% and fading out.
- Duration
- 2.4s
- Repeats
- No
- Easing
- ease-in-out
- Animates
- Position · Rotation · Opacity translate rotate opacity
Show CSS
@keyframes onoma-chirachira-2 {
0% { transform: translate(0%, 0%) rotate(0deg); opacity: 1; animation-timing-function: ease-in-out; }
20% { transform: translate(18.67%, 24.68%) rotate(18.67deg); opacity: 1; animation-timing-function: ease-in-out; }
40% { transform: translate(-17.33%, 60.77%) rotate(-17.33deg); opacity: 1; animation-timing-function: ease-in-out; }
60% { transform: translate(16%, 102.95%) rotate(16deg); opacity: 1; animation-timing-function: ease-in-out; }
80% { transform: translate(-14.67%, 149.64%) rotate(-14.67deg); opacity: 0.6; animation-timing-function: ease-in-out; }
100% { transform: translate(0%, 200%) rotate(6deg); opacity: 0; animation-timing-function: ease-in-out; }
}
.onoma-chirachira-2 {
animation: onoma-chirachira-2 2.4s ease-in-out both;
}
/* Reduced motion: only fade out */
@keyframes onoma-chirachira-2-fade { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
.onoma-chirachira-2 { animation: onoma-chirachira-2-fade 0.2s ease-out both; }
}Compare with similar motions