Spaces:
Running
Running
File size: 2,093 Bytes
70a2d3b e54b635 70a2d3b e54b635 70a2d3b e54b635 70a2d3b e54b635 70a2d3b e54b635 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
/* Animations and visual effects */
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
@keyframes shimmer {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
/* Balance card glow effect */
.balance-glow {
position: relative;
overflow: hidden;
}
.balance-glow::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
to bottom right,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.3) 50%,
rgba(255, 255, 255, 0) 100%
);
transform: rotate(30deg);
animation: shimmer 3s infinite linear;
}
/* Enhanced transaction items */
.transaction-item {
transition: all 0.3s ease;
transform-origin: center;
opacity: 0;
animation: fadeIn 0.5s forwards;
}
@keyframes fadeIn {
to { opacity: 1; }
}
.transaction-item:hover {
transform: scale(1.02) translateY(-4px);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
z-index: 10;
}
/* Floating quick actions */
.quick-action {
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.quick-action:hover {
transform: translateY(-8px) scale(1.05);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
/* Dark mode enhancements */
html.dark {
background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
}
/* Custom scrollbar with gradient */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(to bottom, #0ea5e9, #7dd3fc);
border-radius: 10px;
}
/* Pulse animation for important elements */
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.05); }
100% { transform: scale(1); }
}
.pulse {
animation: pulse 2s infinite;
}
/* Sparkle effect */
.sparkle {
position: relative;
}
.sparkle::after {
content: '✨';
position: absolute;
top: -10px;
right: -5px;
font-size: 12px;
animation: float 3s ease-in-out infinite;
}
|