0278fe6ae4
This reverts commit 39c1906e67.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
102 lines
2.8 KiB
CSS
102 lines
2.8 KiB
CSS
@layer utilities {
|
|
.shake {
|
|
animation: shake 400ms both;
|
|
}
|
|
|
|
@keyframes appear-then-fade {
|
|
0%,100% { opacity: 0; }
|
|
5%,60% { opacity: 1; }
|
|
}
|
|
|
|
@keyframes gradient {
|
|
0% { background-position: 0% 50%; }
|
|
50% { background-position: 100% 50%; }
|
|
100% { background-position: 0% 50%; }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { opacity: 1; }
|
|
50% { opacity: 0.4; }
|
|
100% { opacity: 1; }
|
|
}
|
|
|
|
/* Keyframes */
|
|
@keyframes react {
|
|
0% { transform: scale(0.85); opacity: 0; }
|
|
50% { transform: scale(1.15); opacity: 1; }
|
|
100% { transform: scale(1); }
|
|
}
|
|
|
|
@keyframes scale-fade-out {
|
|
0% { transform: scale(1); opacity: 1; }
|
|
100% { transform: scale(0); opacity: 0; }
|
|
}
|
|
|
|
@keyframes shake {
|
|
0% { transform: translateX(-2rem); }
|
|
25% { transform: translateX(2rem); }
|
|
50% { transform: translateX(-1rem); }
|
|
75% { transform: translateX(1rem); }
|
|
}
|
|
|
|
@keyframes slide-up {
|
|
from { transform: translateY(2rem); }
|
|
to { transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slide-up-fade-in {
|
|
from { transform: translateY(2rem); opacity: 0; }
|
|
to { transform: translateY(0); opacity: 1; }
|
|
}
|
|
|
|
@keyframes slide-down {
|
|
from { transform: translateY(0); }
|
|
to { transform: translateY(2rem); }
|
|
}
|
|
|
|
@keyframes submitting {
|
|
0% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 0% }
|
|
12.5% { -webkit-mask-position: 0% 50%, 50% 0%, 100% 0% }
|
|
25% { -webkit-mask-position: 0% 100%, 50% 50%, 100% 0% }
|
|
37.5% { -webkit-mask-position: 0% 100%, 50% 100%, 100% 50% }
|
|
50% { -webkit-mask-position: 0% 100%, 50% 100%, 100% 100% }
|
|
62.5% { -webkit-mask-position: 0% 50%, 50% 100%, 100% 100% }
|
|
75% { -webkit-mask-position: 0% 0%, 50% 50%, 100% 100% }
|
|
87.5% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 50% }
|
|
100% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 0% }
|
|
}
|
|
|
|
@keyframes success {
|
|
0% { background-color: var(--color-border-darker); scale: 0.8; }
|
|
33% { background-color: var(--color-border-darker); scale: 1; }
|
|
}
|
|
|
|
@keyframes wiggle {
|
|
0% { transform: rotate(0deg); }
|
|
20% { transform: rotate(3deg); }
|
|
40% { transform: rotate(-3deg); }
|
|
60% { transform: rotate(3deg); }
|
|
80% { transform: rotate(-3deg); }
|
|
100% { transform: rotate(0deg); }
|
|
}
|
|
|
|
@keyframes wobble {
|
|
0% { transform: rotate(calc(var(--bubble-rotate) + 30deg)); }
|
|
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
|
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
|
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
|
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
|
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
|
}
|
|
|
|
@keyframes zoom-fade {
|
|
100% { transform: translateY(-1.5em); scale: 2; opacity: 0; }
|
|
}
|
|
|
|
@keyframes blink {
|
|
50% {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
}
|