| | @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap'); |
| |
|
| | body { |
| | font-family: 'Montserrat', sans-serif; |
| | min-height: 100vh; |
| | display: flex; |
| | flex-direction: column; |
| | } |
| |
|
| | |
| | ::-webkit-scrollbar { |
| | width: 8px; |
| | height: 8px; |
| | } |
| |
|
| | ::-webkit-scrollbar-track { |
| | background: #1a202c; |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb { |
| | background: #2d3748; |
| | border-radius: 4px; |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb:hover { |
| | background: #4a5568; |
| | } |
| |
|
| | |
| | .fade-in { |
| | animation: fadeIn 0.5s ease-in forwards; |
| | } |
| |
|
| | @keyframes fadeIn { |
| | from { opacity: 0; } |
| | to { opacity: 1; } |
| | } |
| |
|
| | .slide-up { |
| | animation: slideUp 0.5s ease-out forwards; |
| | } |
| |
|
| | @keyframes slideUp { |
| | from { transform: translateY(20px); opacity: 0; } |
| | to { transform: translateY(0); opacity: 1; } |
| | } |
| | |
| | @keyframes goalCelebration { |
| | 0% { transform: scale(1); } |
| | 50% { transform: scale(1.2); } |
| | 100% { transform: scale(1); } |
| | } |
| |
|
| | .goal-animation { |
| | animation: goalCelebration 0.5s ease-in-out; |
| | } |
| |
|
| | |
| | @keyframes fadeOut { |
| | from { opacity: 1; } |
| | to { opacity: 0; } |
| | } |
| |
|
| | .fade-out { |
| | animation: fadeOut 0.5s ease-in forwards; |
| | } |
| |
|
| | |
| | @keyframes buttonPress { |
| | 0% { transform: scale(1); } |
| | 50% { transform: scale(0.95); } |
| | 100% { transform: scale(1); } |
| | } |
| |
|
| | .button-press { |
| | animation: buttonPress 0.2s ease-in-out; |
| | } |
| |
|
| | |
| | @keyframes ballMove { |
| | 0% { transform: translateX(-100px) translateY(0); } |
| | 50% { transform: translateX(0) translateY(-20px); } |
| | 100% { transform: translateX(100px) translateY(0); } |
| | } |
| |
|
| | .ball-move { |
| | animation: ballMove 0.8s ease-in-out forwards; |
| | } |
| |
|
| | |
| | @keyframes netShake { |
| | 0%, 100% { transform: translateX(0); } |
| | 25% { transform: translateX(-5px); } |
| | 75% { transform: translateX(5px); } |
| | } |
| |
|
| | .net-shake { |
| | animation: netShake 0.5s ease-in-out; |
| | } |
| |
|