Okwutecloud commited on
Commit
70a2d3b
·
verified ·
1 Parent(s): e54b635

make it more attractive to people where if they open it they go wow

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/header.js +59 -0
  3. components/nav.js +82 -0
  4. index.html +182 -19
  5. script.js +65 -0
  6. style.css +93 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Finglow
3
- emoji: 💻
4
- colorFrom: blue
5
- colorTo: purple
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: FinGlow 💸✨
3
+ colorFrom: pink
4
+ colorTo: pink
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/header.js ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class QuickpayHeader extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ header {
7
+ padding: 1rem;
8
+ position: sticky;
9
+ top: 0;
10
+ z-index: 50;
11
+ background-color: rgba(255, 255, 255, 0.8);
12
+ backdrop-filter: blur(10px);
13
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
14
+ }
15
+ .dark header {
16
+ background-color: rgba(17, 24, 39, 0.8);
17
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
18
+ }
19
+ .header-content {
20
+ display: flex;
21
+ justify-content: space-between;
22
+ align-items: center;
23
+ max-width: 1200px;
24
+ margin: 0 auto;
25
+ }
26
+ .logo {
27
+ font-weight: 800;
28
+ letter-spacing: -0.5px;
29
+ }
30
+ .user-avatar {
31
+ width: 36px;
32
+ height: 36px;
33
+ border-radius: 50%;
34
+ background-color: #e0f2fe;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ color: #0ea5e9;
39
+ }
40
+ .dark .user-avatar {
41
+ background-color: #1e3a8a;
42
+ color: #bfdbfe;
43
+ }
44
+ </style>
45
+ <header>
46
+ <div class="header-content">
47
+ <div class="logo text-2xl font-extrabold bg-gradient-to-r from-blue-500 to-teal-400 bg-clip-text text-transparent">
48
+ FinGlow <span class="text-xs align-super">💸✨</span>
49
+ </div>
50
+ <div class="user-avatar">
51
+ <i data-feather="user"></i>
52
+ </div>
53
+ </div>
54
+ </header>
55
+ `;
56
+ }
57
+ }
58
+
59
+ customElements.define('quickpay-header', QuickpayHeader);
components/nav.js ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class QuickpayNav extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ position: fixed;
8
+ bottom: 0;
9
+ left: 0;
10
+ right: 0;
11
+ background-color: white;
12
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
13
+ padding: 0.5rem 0;
14
+ z-index: 40;
15
+ }
16
+ .dark nav {
17
+ background-color: #1f2937;
18
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
19
+ }
20
+ .nav-items {
21
+ display: flex;
22
+ justify-content: space-around;
23
+ max-width: 1200px;
24
+ margin: 0 auto;
25
+ }
26
+ .nav-item {
27
+ display: flex;
28
+ flex-direction: column;
29
+ align-items: center;
30
+ color: #64748b;
31
+ text-decoration: none;
32
+ font-size: 0.75rem;
33
+ padding: 0.5rem 1rem;
34
+ border-radius: 0.5rem;
35
+ transition: all 0.2s ease;
36
+ }
37
+ .nav-item.active {
38
+ color: #0ea5e9;
39
+ }
40
+ .dark .nav-item {
41
+ color: #9ca3af;
42
+ }
43
+ .dark .nav-item.active {
44
+ color: #38bdf8;
45
+ }
46
+ .nav-icon {
47
+ margin-bottom: 0.25rem;
48
+ }
49
+ </style>
50
+ <nav>
51
+ <div class="nav-items">
52
+ <a href="#" class="nav-item active transform hover:scale-110">
53
+ <div class="nav-icon">
54
+ <i data-feather="home"></i>
55
+ </div>
56
+ <span>Home</span>
57
+ </a>
58
+ <a href="#" class="nav-item transform hover:scale-110">
59
+ <div class="nav-icon">
60
+ <i data-feather="credit-card"></i>
61
+ </div>
62
+ <span>Cards</span>
63
+ </a>
64
+ <a href="#" class="nav-item">
65
+ <div class="nav-icon">
66
+ <i data-feather="bar-chart-2"></i>
67
+ </div>
68
+ <span>Stats</span>
69
+ </a>
70
+ <a href="#" class="nav-item">
71
+ <div class="nav-icon">
72
+ <i data-feather="settings"></i>
73
+ </div>
74
+ <span>Settings</span>
75
+ </a>
76
+ </div>
77
+ </nav>
78
+ `;
79
+ }
80
+ }
81
+
82
+ customElements.define('quickpay-nav', QuickpayNav);
index.html CHANGED
@@ -1,19 +1,182 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="light">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>QuickPay1 - Digital Banking</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: {
17
+ 50: '#f0f9ff',
18
+ 100: '#e0f2fe',
19
+ 200: '#bae6fd',
20
+ 300: '#7dd3fc',
21
+ 400: '#38bdf8',
22
+ 500: '#0ea5e9',
23
+ 600: '#0284c7',
24
+ 700: '#0369a1',
25
+ 800: '#075985',
26
+ 900: '#0c4a6e',
27
+ },
28
+ secondary: {
29
+ 50: '#f8fafc',
30
+ 100: '#f1f5f9',
31
+ 200: '#e2e8f0',
32
+ 300: '#cbd5e1',
33
+ 400: '#94a3b8',
34
+ 500: '#64748b',
35
+ 600: '#475569',
36
+ 700: '#334155',
37
+ 800: '#1e293b',
38
+ 900: '#0f172a',
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ </script>
45
+ </head>
46
+ <body class="bg-gray-50 dark:bg-gray-900 transition-colors duration-200">
47
+ <quickpay-header></quickpay-header>
48
+ <quickpay-nav></quickpay-nav>
49
+
50
+ <main class="container mx-auto px-4 py-6 max-w-md">
51
+ <!-- Balance Card -->
52
+ <div class="balance-glow bg-gradient-to-r from-primary-500 via-primary-600 to-primary-700 rounded-2xl p-6 shadow-xl text-white mb-8 transform transition-all hover:scale-[1.01]">
53
+ <div class="flex justify-between items-start">
54
+ <div>
55
+ <p class="text-sm opacity-90">Available Balance</p>
56
+ <h1 class="text-4xl font-extrabold mt-1 tracking-tight sparkle">
57
+ ₦<span class="count-up" data-target="54320">0</span>.50
58
+ </h1>
59
+ </div>
60
+ <button class="theme-toggle p-2 rounded-full bg-white/10 hover:bg-white/20 transition-all hover:scale-110">
61
+ <i data-feather="moon" class="hidden dark:block"></i>
62
+ <i data-feather="sun" class="dark:hidden"></i>
63
+ </button>
64
+ </div>
65
+ <div class="flex justify-between mt-8">
66
+ <div>
67
+ <p class="text-xs opacity-80">Account Number</p>
68
+ <p class="font-medium">0123456789</p>
69
+ </div>
70
+ <div class="text-right">
71
+ <p class="text-xs opacity-80">Bank</p>
72
+ <p class="font-medium">QuickPay1</p>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <!-- Quick Actions -->
77
+ <div class="grid grid-cols-4 gap-4 mb-10">
78
+ <a href="#" class="quick-action flex flex-col items-center justify-center p-4 rounded-xl bg-white dark:bg-gray-800 shadow-md hover:shadow-lg transition-all">
79
+ <div class="w-14 h-14 rounded-full bg-gradient-to-br from-green-100 to-green-200 dark:from-green-800 dark:to-green-900 flex items-center justify-center mb-2">
80
+ <i data-feather="arrow-up-right" class="text-green-600 dark:text-green-300 text-xl"></i>
81
+ </div>
82
+ <span class="text-xs font-semibold">Transfer</span>
83
+ </a>
84
+ <a href="#" class="quick-action flex flex-col items-center justify-center p-4 rounded-xl bg-white dark:bg-gray-800 shadow-md hover:shadow-lg transition-all">
85
+ <div class="w-14 h-14 rounded-full bg-gradient-to-br from-blue-100 to-blue-200 dark:from-blue-800 dark:to-blue-900 flex items-center justify-center mb-2">
86
+ <i data-feather="dollar-sign" class="text-blue-600 dark:text-blue-300 text-xl"></i>
87
+ </div>
88
+ <span class="text-xs font-semibold">Withdraw</span>
89
+ </a>
90
+ <a href="#" class="quick-action flex flex-col items-center justify-center p-4 rounded-xl bg-white dark:bg-gray-800 shadow-md hover:shadow-lg transition-all">
91
+ <div class="w-14 h-14 rounded-full bg-gradient-to-br from-purple-100 to-purple-200 dark:from-purple-800 dark:to-purple-900 flex items-center justify-center mb-2">
92
+ <i data-feather="smartphone" class="text-purple-600 dark:text-purple-300 text-xl"></i>
93
+ </div>
94
+ <span class="text-xs font-semibold">Airtime</span>
95
+ </a>
96
+ <a href="#" class="quick-action flex flex-col items-center justify-center p-4 rounded-xl bg-white dark:bg-gray-800 shadow-md hover:shadow-lg transition-all">
97
+ <div class="w-14 h-14 rounded-full bg-gradient-to-br from-yellow-100 to-yellow-200 dark:from-yellow-800 dark:to-yellow-900 flex items-center justify-center mb-2">
98
+ <i data-feather="more-horizontal" class="text-yellow-600 dark:text-yellow-300 text-xl"></i>
99
+ </div>
100
+ <span class="text-xs font-semibold">More</span>
101
+ </a>
102
+ <button class="quick-action flex flex-col items-center justify-center p-3 rounded-xl bg-white dark:bg-gray-800 shadow-sm hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
103
+ <div class="w-12 h-12 rounded-full bg-primary-100 dark:bg-primary-900 flex items-center justify-center mb-2">
104
+ <i data-feather="arrow-up-right" class="text-primary-600 dark:text-primary-400"></i>
105
+ </div>
106
+ <span class="text-xs font-medium">Transfer</span>
107
+ </button>
108
+ <button class="quick-action flex flex-col items-center justify-center p-3 rounded-xl bg-white dark:bg-gray-800 shadow-sm hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
109
+ <div class="w-12 h-12 rounded-full bg-primary-100 dark:bg-primary-900 flex items-center justify-center mb-2">
110
+ <i data-feather="dollar-sign" class="text-primary-600 dark:text-primary-400"></i>
111
+ </div>
112
+ <span class="text-xs font-medium">Withdraw</span>
113
+ </button>
114
+ <button class="quick-action flex flex-col items-center justify-center p-3 rounded-xl bg-white dark:bg-gray-800 shadow-sm hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
115
+ <div class="w-12 h-12 rounded-full bg-primary-100 dark:bg-primary-900 flex items-center justify-center mb-2">
116
+ <i data-feather="smartphone" class="text-primary-600 dark:text-primary-400"></i>
117
+ </div>
118
+ <span class="text-xs font-medium">Airtime</span>
119
+ </button>
120
+ <button class="quick-action flex flex-col items-center justify-center p-3 rounded-xl bg-white dark:bg-gray-800 shadow-sm hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
121
+ <div class="w-12 h-12 rounded-full bg-primary-100 dark:bg-primary-900 flex items-center justify-center mb-2">
122
+ <i data-feather="more-horizontal" class="text-primary-600 dark:text-primary-400"></i>
123
+ </div>
124
+ <span class="text-xs font-medium">More</span>
125
+ </button>
126
+ </div>
127
+ <!-- Transactions -->
128
+ <div class="mb-8">
129
+ <div class="flex justify-between items-center mb-4">
130
+ <h2 class="text-xl font-bold text-gray-800 dark:text-white">Recent Transactions</h2>
131
+ <a href="#" class="text-sm font-medium text-primary-600 dark:text-primary-400 hover:underline">See All</a>
132
+ </div>
133
+ <div class="space-y-4">
134
+ <div class="transaction-item bg-white dark:bg-gray-800 rounded-xl p-4 shadow-sm flex items-center">
135
+ <div class="w-10 h-10 rounded-full bg-green-100 dark:bg-green-900 flex items-center justify-center mr-3">
136
+ <i data-feather="arrow-down-left" class="text-green-600 dark:text-green-400"></i>
137
+ </div>
138
+ <div class="flex-1">
139
+ <h3 class="font-medium text-gray-800 dark:text-white">Salary Deposit</h3>
140
+ <p class="text-xs text-gray-500 dark:text-gray-400">Today, 9:45 AM</p>
141
+ </div>
142
+ <div class="text-right">
143
+ <p class="font-medium text-green-600">+₦120,000</p>
144
+ </div>
145
+ </div>
146
+ <div class="transaction-item bg-white dark:bg-gray-800 rounded-xl p-4 shadow-sm flex items-center">
147
+ <div class="w-10 h-10 rounded-full bg-red-100 dark:bg-red-900 flex items-center justify-center mr-3">
148
+ <i data-feather="arrow-up-right" class="text-red-600 dark:text-red-400"></i>
149
+ </div>
150
+ <div class="flex-1">
151
+ <h3 class="font-medium text-gray-800 dark:text-white">Amazon Purchase</h3>
152
+ <p class="text-xs text-gray-500 dark:text-gray-400">Yesterday, 2:30 PM</p>
153
+ </div>
154
+ <div class="text-right">
155
+ <p class="font-medium text-red-600">-₦45,320</p>
156
+ </div>
157
+ </div>
158
+ <div class="transaction-item bg-white dark:bg-gray-800 rounded-xl p-4 shadow-sm flex items-center">
159
+ <div class="w-10 h-10 rounded-full bg-blue-100 dark:bg-blue-900 flex items-center justify-center mr-3">
160
+ <i data-feather="smartphone" class="text-blue-600 dark:text-blue-400"></i>
161
+ </div>
162
+ <div class="flex-1">
163
+ <h3 class="font-medium text-gray-800 dark:text-white">Airtime</h3>
164
+ <p class="text-xs text-gray-500 dark:text-gray-400">Yesterday, 10:15 AM</p>
165
+ </div>
166
+ <div class="text-right">
167
+ <p class="font-medium text-red-600">-₦1,000</p>
168
+ </div>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </main>
173
+
174
+ <script src="components/header.js"></script>
175
+ <script src="components/nav.js"></script>
176
+ <script src="script.js"></script>
177
+ <script>
178
+ feather.replace();
179
+ </script>
180
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
181
+ </body>
182
+ </html>
script.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ // Count up animation
3
+ function animateValue(el, start, end, duration) {
4
+ let startTimestamp = null;
5
+ const step = (timestamp) => {
6
+ if (!startTimestamp) startTimestamp = timestamp;
7
+ const progress = Math.min((timestamp - startTimestamp) / duration, 1);
8
+ el.innerHTML = Math.floor(progress * (end - start) + start).toLocaleString();
9
+ if (progress < 1) {
10
+ window.requestAnimationFrame(step);
11
+ }
12
+ };
13
+ window.requestAnimationFrame(step);
14
+ }
15
+
16
+ // Enhanced DOMContentLoaded
17
+ document.addEventListener('DOMContentLoaded', () => {
18
+ // Check for saved theme preference or use preferred color scheme
19
+ const savedTheme = localStorage.getItem('theme') ||
20
+ (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
21
+ document.documentElement.classList.add(savedTheme);
22
+
23
+ // Set up theme toggle button
24
+ const themeToggle = document.querySelector('.theme-toggle');
25
+ if (themeToggle) {
26
+ themeToggle.addEventListener('click', () => {
27
+ const html = document.documentElement;
28
+ const isDark = html.classList.contains('dark');
29
+
30
+ if (isDark) {
31
+ html.classList.remove('dark');
32
+ localStorage.setItem('theme', 'light');
33
+ } else {
34
+ html.classList.add('dark');
35
+ localStorage.setItem('theme', 'dark');
36
+ }
37
+
38
+ feather.replace();
39
+ });
40
+ }
41
+ // Animate balance count-up
42
+ const balanceEl = document.querySelector('.count-up');
43
+ if (balanceEl) {
44
+ const target = parseInt(balanceEl.dataset.target);
45
+ animateValue(balanceEl, 0, target, 2000);
46
+ }
47
+
48
+ // Stagger transaction animations
49
+ document.querySelectorAll('.transaction-item').forEach((item, i) => {
50
+ setTimeout(() => {
51
+ item.style.opacity = '1';
52
+ }, i * 150);
53
+ });
54
+
55
+ // Add hover effects to cards
56
+ const cards = document.querySelectorAll('.transaction-item, .quick-action');
57
+ cards.forEach(card => {
58
+ card.addEventListener('mouseenter', () => {
59
+ card.classList.add('shadow-lg');
60
+ });
61
+ card.addEventListener('mouseleave', () => {
62
+ card.classList.remove('shadow-lg');
63
+ });
64
+ });
65
+ });
style.css CHANGED
@@ -1,28 +1,102 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
 
28
  }
 
1
+
2
+ /* Animations and visual effects */
3
+ @keyframes float {
4
+ 0%, 100% { transform: translateY(0); }
5
+ 50% { transform: translateY(-10px); }
6
+ }
7
+
8
+ @keyframes shimmer {
9
+ 0% { background-position: -200% 0; }
10
+ 100% { background-position: 200% 0; }
11
+ }
12
+
13
+ /* Balance card glow effect */
14
+ .balance-glow {
15
+ position: relative;
16
+ overflow: hidden;
17
+ }
18
+
19
+ .balance-glow::after {
20
+ content: '';
21
+ position: absolute;
22
+ top: -50%;
23
+ left: -50%;
24
+ width: 200%;
25
+ height: 200%;
26
+ background: linear-gradient(
27
+ to bottom right,
28
+ rgba(255, 255, 255, 0) 0%,
29
+ rgba(255, 255, 255, 0.3) 50%,
30
+ rgba(255, 255, 255, 0) 100%
31
+ );
32
+ transform: rotate(30deg);
33
+ animation: shimmer 3s infinite linear;
34
+ }
35
+
36
+ /* Enhanced transaction items */
37
+ .transaction-item {
38
+ transition: all 0.3s ease;
39
+ transform-origin: center;
40
+ opacity: 0;
41
+ animation: fadeIn 0.5s forwards;
42
+ }
43
+
44
+ @keyframes fadeIn {
45
+ to { opacity: 1; }
46
+ }
47
+
48
+ .transaction-item:hover {
49
+ transform: scale(1.02) translateY(-4px);
50
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
51
+ z-index: 10;
52
+ }
53
+
54
+ /* Floating quick actions */
55
+ .quick-action {
56
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
57
+ }
58
+
59
+ .quick-action:hover {
60
+ transform: translateY(-8px) scale(1.05);
61
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
62
+ }
63
+
64
+ /* Dark mode enhancements */
65
+ html.dark {
66
+ background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
67
+ }
68
+
69
+ /* Custom scrollbar with gradient */
70
+ ::-webkit-scrollbar {
71
+ width: 8px;
72
+ }
73
+
74
+ ::-webkit-scrollbar-thumb {
75
+ background: linear-gradient(to bottom, #0ea5e9, #7dd3fc);
76
+ border-radius: 10px;
77
  }
78
 
79
+ /* Pulse animation for important elements */
80
+ @keyframes pulse {
81
+ 0% { transform: scale(1); }
82
+ 50% { transform: scale(1.05); }
83
+ 100% { transform: scale(1); }
84
  }
85
 
86
+ .pulse {
87
+ animation: pulse 2s infinite;
 
 
 
88
  }
89
 
90
+ /* Sparkle effect */
91
+ .sparkle {
92
+ position: relative;
 
 
 
93
  }
94
 
95
+ .sparkle::after {
96
+ content: '✨';
97
+ position: absolute;
98
+ top: -10px;
99
+ right: -5px;
100
+ font-size: 12px;
101
+ animation: float 3s ease-in-out infinite;
102
  }