matthewspring commited on
Commit
6a04f8b
·
verified ·
1 Parent(s): a1ca9fc

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +709 -684
index.html CHANGED
@@ -1,722 +1,747 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
  <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Nexus Geometric Suite</title>
7
- <script src="https://cdn.tailwindcss.com"></script>
8
- <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
9
- <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
10
- <script>
11
- tailwind.config = {
12
- theme: {
13
- extend: {
14
- fontFamily: {
15
- sans: ['Inter', 'sans-serif'],
16
- display: ['Space Grotesk', 'sans-serif'],
17
- },
18
- colors: {
19
- slate: {
20
- 850: '#1e293b',
21
- 900: '#0f172a',
22
- 950: '#020617',
23
- },
24
- primary: {
25
- 400: '#818cf8',
26
- 500: '#6366f1',
27
- 600: '#4f46e5',
28
- }
29
- },
30
- animation: {
31
- 'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
32
- 'slide-in': 'slideIn 0.3s ease-out forwards',
33
- 'fade-in': 'fadeIn 0.5s ease-out forwards',
34
- 'float': 'float 20s infinite ease-in-out',
35
- 'rotate-slow': 'rotate 30s linear infinite',
36
- 'morph': 'morph 8s ease-in-out infinite',
37
- },
38
- keyframes: {
39
- slideIn: {
40
- '0%': { transform: 'translateY(-10px)', opacity: '0' },
41
- '100%': { transform: 'translateY(0)', opacity: '1' },
42
- },
43
- fadeIn: {
44
- '0%': { opacity: '0' },
45
- '100%': { opacity: '1' },
46
- },
47
- float: {
48
- '0%, 100%': { transform: 'translate(0, 0) rotate(0deg)' },
49
- '25%': { transform: 'translate(50px, -30px) rotate(5deg)' },
50
- '50%': { transform: 'translate(-30px, 50px) rotate(-5deg)' },
51
- '75%': { transform: 'translate(-50px, -20px) rotate(3deg)' },
52
- },
53
- rotate: {
54
- '0%': { transform: 'rotate(0deg)' },
55
- '100%': { transform: 'rotate(360deg)' },
56
- },
57
- morph: {
58
- '0%, 100%': { borderRadius: '60% 40% 30% 70%/60% 30% 70% 40%' },
59
- '50%': { borderRadius: '30% 60% 70% 40%/50% 60% 30% 60%' },
60
- }
61
- }
62
- }
63
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
- </script>
66
- <style>
67
- /* Geometric Background Patterns */
68
- .geo-bg {
69
- background-color: #020617;
70
- background-image:
71
- radial-gradient(circle at 20% 50%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
72
- radial-gradient(circle at 80% 80%, rgba(236, 72, 153, 0.1) 0%, transparent 50%),
73
- linear-gradient(45deg, rgba(15, 23, 42, 0.9) 0%, transparent 100%),
74
- repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 11px),
75
- repeating-linear-gradient(-45deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 11px);
76
- }
77
-
78
- /* Geometric Shapes */
79
- .geo-shape {
80
- position: absolute;
81
- pointer-events: none;
82
- z-index: 0;
83
- }
84
-
85
- .geo-triangle {
86
- width: 0;
87
- height: 0;
88
- border-left: 50px solid transparent;
89
- border-right: 50px solid transparent;
90
- border-bottom: 100px solid rgba(99, 102, 241, 0.1);
91
- filter: drop-shadow(0 0 20px rgba(99, 102, 241, 0.3));
92
- }
93
-
94
- .geo-circle {
95
- border-radius: 50%;
96
- background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(236, 72, 153, 0.2));
97
- backdrop-filter: blur(10px);
98
- border: 1px solid rgba(255, 255, 255, 0.1);
99
- }
100
-
101
- .geo-hexagon {
102
- width: 100px;
103
- height: 57.74px;
104
- background: rgba(255, 255, 255, 0.03);
105
- position: relative;
106
- margin: 28.87px 0;
107
- border-left: 2px solid rgba(99, 102, 241, 0.3);
108
- border-right: 2px solid rgba(99, 102, 241, 0.3);
109
- }
110
-
111
- .geo-hexagon:before,
112
- .geo-hexagon:after {
113
- content: "";
114
- position: absolute;
115
- width: 0;
116
- border-left: 50px solid transparent;
117
- border-right: 50px solid transparent;
118
- }
119
-
120
- .geo-hexagon:before {
121
- bottom: 100%;
122
- border-bottom: 28.87px solid rgba(255, 255, 255, 0.03);
123
- border-bottom-color: rgba(255, 255, 255, 0.03);
124
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
 
126
- .geo-hexagon:after {
127
- top: 100%;
128
- border-top: 28.87px solid rgba(255, 255, 255, 0.03);
129
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
 
131
- /* Glass Cards with Geometric Borders */
132
- .glass-card {
133
- background: linear-gradient(135deg, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 0.9));
134
- backdrop-filter: blur(20px);
135
- border: 1px solid rgba(255, 255, 255, 0.1);
136
- position: relative;
137
- overflow: hidden;
138
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
 
140
- .glass-card::before {
141
- content: '';
142
- position: absolute;
143
- top: 0;
144
- left: 0;
145
- right: 0;
146
- height: 2px;
147
- background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.5), transparent);
148
- }
 
 
 
 
 
 
 
 
 
 
 
149
 
150
- .glass-card::after {
151
- content: '';
152
- position: absolute;
153
- bottom: 0;
154
- right: 0;
155
- width: 100px;
156
- height: 100px;
157
- background: linear-gradient(135deg, transparent 50%, rgba(99, 102, 241, 0.05) 50%);
158
- pointer-events: none;
159
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
 
161
- /* Custom Scrollbar */
162
- ::-webkit-scrollbar {
163
- width: 8px;
164
- }
165
- ::-webkit-scrollbar-track {
166
- background: #0f172a;
167
- }
168
- ::-webkit-scrollbar-thumb {
169
- background: #334155;
170
- border-radius: 4px;
171
- }
172
- ::-webkit-scrollbar-thumb:hover {
173
- background: #475569;
174
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
 
176
- /* Toggle Switch */
177
- .toggle-checkbox:checked {
178
- right: 0;
179
- border-color: #6366f1;
180
- }
181
- .toggle-checkbox:checked + .toggle-label {
182
- background-color: #6366f1;
183
- }
 
 
 
 
 
 
 
 
184
 
185
- /* Chart Animation */
186
- .chart-line {
187
- stroke-dasharray: 1000;
188
- stroke-dashoffset: 1000;
189
- animation: drawLine 2s ease-out forwards;
190
- }
191
 
192
- @keyframes drawLine {
193
- to { stroke-dashoffset: 0; }
194
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
 
196
- /* Confetti */
197
- .confetti {
198
- position: absolute;
199
- width: 10px;
200
- height: 10px;
201
- animation: fall linear forwards;
202
- clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
203
- }
 
 
 
 
 
204
 
205
- @keyframes fall {
206
- to { transform: translateY(100vh) rotate(720deg); }
207
- }
 
 
 
 
 
 
 
208
 
209
- /* Geometric Button Hover */
210
- .geo-btn {
211
- position: relative;
212
- overflow: hidden;
213
- transition: all 0.3s ease;
214
- }
215
- .geo-btn::before {
216
- content: '';
217
- position: absolute;
218
- top: 50%;
219
- left: 50%;
220
- width: 0;
221
- height: 0;
222
- background: rgba(255,255,255,0.1);
223
- transform: translate(-50%, -50%) rotate(45deg);
224
- transition: width 0.6s, height 0.6s;
225
- }
226
- .geo-btn:hover::before {
227
- width: 300px;
228
- height: 300px;
229
- }
230
 
231
- /* Grid Pattern Overlay */
232
- .grid-pattern {
233
- background-image:
234
- linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
235
- linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
236
- background-size: 50px 50px;
237
- }
238
- </style>
239
- </head>
240
- <body class="geo-bg text-slate-200 font-sans antialiased overflow-hidden h-screen selection:bg-primary-500 selection:text-white">
241
 
242
- <!-- Floating Geometric Background Elements -->
243
- <div class="fixed inset-0 overflow-hidden pointer-events-none">
244
- <div class="geo-shape geo-triangle top-20 left-10 animate-float" style="animation-delay: 0s; opacity: 0.3;"></div>
245
- <div class="geo-shape geo-circle w-32 h-32 top-40 right-20 animate-morph" style="animation-delay: 2s;"></div>
246
- <div class="geo-shape geo-hexagon bottom-40 left-20 animate-float" style="animation-delay: 4s; opacity: 0.2;"></div>
247
- <div class="geo-shape geo-circle w-48 h-48 bottom-20 right-40 animate-rotate-slow" style="border: 2px solid rgba(99, 102, 241, 0.1); background: transparent;"></div>
248
- <div class="geo-shape w-0 h-0 top-60 left-1/3 animate-float" style="border-left: 30px solid transparent; border-right: 30px solid transparent; border-bottom: 60px solid rgba(236, 72, 153, 0.1); animation-delay: 6s;"></div>
249
- </div>
250
 
251
- <!-- App Container -->
252
- <div class="flex h-full relative z-10">
253
-
254
- <!-- Sidebar with Geometric Accent -->
255
- <aside class="w-20 lg:w-64 bg-slate-900/90 backdrop-blur-xl border-r border-slate-800 flex flex-col justify-between relative overflow-hidden">
256
- <!-- Geometric Corner Accent -->
257
- <div class="absolute top-0 right-0 w-20 h-20 bg-gradient-to-bl from-primary-500/20 to-transparent"></div>
258
- <div class="absolute bottom-0 left-0 w-full h-1 bg-gradient-to-r from-primary-500 via-purple-500 to-transparent"></div>
259
-
260
- <div>
261
- <div class="h-20 flex items-center justify-center lg:justify-start lg:px-6 border-b border-slate-800 relative">
262
- <div class="w-10 h-10 relative">
263
- <div class="absolute inset-0 bg-primary-500 rotate-45 transform"></div>
264
- <div class="absolute inset-1 bg-slate-900 rotate-45 transform flex items-center justify-center">
265
- <i class="fa-solid fa-layer-group text-primary-400 text-sm"></i>
266
- </div>
267
- </div>
268
- <span class="ml-4 font-display font-bold text-xl hidden lg:block tracking-tight">NEXUS<span class="text-primary-400">.OS</span></span>
269
- </div>
270
 
271
- <nav class="mt-8 px-2 lg:px-4 space-y-2">
272
- <button onclick="switchTab('dashboard')" id="nav-dashboard" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden active-nav bg-slate-800 text-white">
273
- <div class="absolute left-0 top-0 bottom-0 w-1 bg-primary-500 rounded-r"></div>
274
- <i class="fa-solid fa-chart-pie w-6 text-center group-hover:text-primary-400 transition-colors"></i>
275
- <span class="ml-3 hidden lg:block font-medium">Dashboard</span>
276
- </button>
277
- <button onclick="switchTab('tasks')" id="nav-tasks" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden">
278
- <div class="absolute left-0 top-0 bottom-0 w-1 bg-transparent group-hover:bg-primary-500 rounded-r transition-all"></div>
279
- <i class="fa-solid fa-list-check w-6 text-center group-hover:text-primary-400 transition-colors"></i>
280
- <span class="ml-3 hidden lg:block font-medium">Tasks</span>
281
- <span id="task-badge" class="ml-auto hidden lg:flex bg-primary-500 text-xs font-bold px-2 py-0.5 rounded-full text-white opacity-0 transition-opacity">0</span>
282
- </button>
283
- <button onclick="switchTab('settings')" id="nav-settings" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden">
284
- <div class="absolute left-0 top-0 bottom-0 w-1 bg-transparent group-hover:bg-primary-500 rounded-r transition-all"></div>
285
- <i class="fa-solid fa-sliders w-6 text-center group-hover:text-primary-400 transition-colors"></i>
286
- <span class="ml-3 hidden lg:block font-medium">Settings</span>
287
- </button>
288
- </nav>
289
- </div>
290
 
291
- <div class="p-4 border-t border-slate-800 relative">
292
- <div class="flex items-center gap-3">
293
- <div class="relative">
294
- <img src="https://api.dicebear.com/7.x/avataaars/svg?seed=Felix" alt="User" class="w-10 h-10 rounded-lg bg-slate-700 border-2 border-slate-600 transform rotate-3 hover:rotate-0 transition-transform">
295
- <div class="absolute -bottom-1 -right-1 w-3 h-3 bg-emerald-500 border-2 border-slate-900 rounded-full"></div>
296
- </div>
297
- <div class="hidden lg:block">
298
- <p class="text-sm font-semibold text-white font-display">Admin User</p>
299
- <p class="text-xs text-slate-500">Pro Plan</p>
300
- </div>
301
  </div>
 
 
 
 
 
 
302
  </div>
303
- </aside>
304
 
305
- <!-- Main Content -->
306
- <main class="flex-1 flex flex-col relative overflow-hidden">
307
- <!-- Grid Pattern Overlay -->
308
- <div class="absolute inset-0 grid-pattern opacity-50 pointer-events-none"></div>
309
 
310
- <!-- Top Header -->
311
- <header class="h-20 glass border-b border-slate-800 flex items-center justify-between px-6 z-10 relative">
312
- <div class="flex items-center gap-4">
313
- <h2 id="page-title" class="text-2xl font-display font-bold text-white tracking-tight">Dashboard Overview</h2>
314
- <div class="hidden md:flex items-center gap-2 px-3 py-1 rounded-full bg-slate-800/50 border border-slate-700 text-xs text-slate-400">
315
- <div class="w-2 h-2 rounded-full bg-emerald-500 animate-pulse"></div>
316
- System Online
317
- </div>
318
- </div>
319
- <div class="flex items-center gap-4">
320
- <button id="btn-notification" class="relative p-3 rounded-xl text-slate-400 hover:text-white hover:bg-slate-800 transition-all geo-btn">
321
- <i class="fa-regular fa-bell text-lg"></i>
322
- <span class="absolute top-2 right-2 w-2 h-2 bg-red-500 rounded-full animate-pulse"></span>
323
- </button>
324
- <button class="geo-btn bg-primary-600 hover:bg-primary-500 text-white px-6 py-3 rounded-xl text-sm font-medium transition-all shadow-lg shadow-primary-600/20 flex items-center gap-2 relative overflow-hidden" onclick="alert('Quick Action Triggered')">
325
- <i class="fa-solid fa-plus"></i>
326
- <span class="relative z-10">New Project</span>
327
- </button>
328
  </div>
329
- </header>
330
-
331
- <!-- Scrollable Content Area -->
332
- <div class="flex-1 overflow-y-auto p-6 relative" id="main-scroll">
333
-
334
- <!-- VIEW: DASHBOARD -->
335
- <div id="view-dashboard" class="space-y-6 animate-fade-in max-w-7xl mx-auto">
336
- <!-- Stats Grid with Geometric Cards -->
337
- <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
338
- <!-- Stat Card 1 -->
339
- <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-primary-500/30 transition-all duration-500">
340
- <div class="absolute top-0 right-0 w-24 h-24 bg-primary-500/10 rotate-45 transform translate-x-12 -translate-y-12 group-hover:rotate-90 transition-transform duration-700"></div>
341
- <div class="relative z-10">
342
- <div class="flex items-center justify-between mb-4">
343
- <div class="w-12 h-12 rounded-xl bg-primary-500/20 flex items-center justify-center border border-primary-500/30">
344
- <i class="fa-solid fa-users text-primary-400 text-xl"></i>
345
- </div>
346
- <span class="text-emerald-400 text-sm font-medium flex items-center gap-1">
347
- <i class="fa-solid fa-arrow-trend-up"></i> +12.5%
348
- </span>
349
- </div>
350
- <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Total Visitors</p>
351
- <h3 class="text-4xl font-display font-bold text-white counter" data-target="8452">0</h3>
352
- </div>
353
- <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-primary-500 to-purple-500"></div>
354
- </div>
355
-
356
- <!-- Stat Card 2 -->
357
- <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-yellow-500/30 transition-all duration-500">
358
- <div class="absolute top-0 right-0 w-24 h-24 bg-yellow-500/10 rotate-12 transform translate-x-8 -translate-y-8 group-hover:rotate-45 transition-transform duration-700"></div>
359
- <div class="relative z-10">
360
- <div class="flex items-center justify-between mb-4">
361
- <div class="w-12 h-12 rounded-full bg-yellow-500/20 flex items-center justify-center border border-yellow-500/30">
362
- <i class="fa-solid fa-bolt text-yellow-400 text-xl"></i>
363
- </div>
364
- <span class="text-slate-400 text-sm font-medium">Live</span>
365
- </div>
366
- <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Server Load</p>
367
- <div class="flex items-end gap-3">
368
- <h3 class="text-4xl font-display font-bold text-white"><span id="server-load">42</span>%</h3>
369
- <div class="flex-1 h-2 bg-slate-700 rounded-full mb-3 overflow-hidden">
370
- <div id="load-bar" class="bg-yellow-500 h-full rounded-full transition-all duration-1000 relative" style="width: 42%">
371
- <div class="absolute inset-0 bg-white/20 animate-pulse"></div>
372
- </div>
373
- </div>
374
- </div>
375
- </div>
376
- </div>
377
-
378
- <!-- Stat Card 3 -->
379
- <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-emerald-500/30 transition-all duration-500">
380
- <div class="absolute -bottom-4 -right-4 w-32 h-32 bg-emerald-500/10 rounded-full group-hover:scale-150 transition-transform duration-700"></div>
381
- <div class="relative z-10">
382
- <div class="flex items-center justify-between mb-4">
383
- <div class="w-12 h-12 rounded-lg bg-emerald-500/20 flex items-center justify-center border border-emerald-500/30 transform rotate-3">
384
- <i class="fa-solid fa-wallet text-emerald-400 text-xl"></i>
385
- </div>
386
- <span class="text-emerald-400 text-sm font-medium flex items-center gap-1">
387
- <i class="fa-solid fa-arrow-trend-up"></i> +4.2%
388
- </span>
389
- </div>
390
- <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Revenue</p>
391
- <h3 class="text-4xl font-display font-bold text-white">$<span class="counter" data-target="12450">0</span></h3>
392
- </div>
393
- </div>
394
- </div>
395
-
396
- <!-- Interactive Chart Section -->
397
- <div class="glass-card p-8 rounded-2xl relative overflow-hidden">
398
- <div class="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-500 via-purple-500 to-emerald-500 opacity-50"></div>
399
- <div class="flex justify-between items-center mb-8">
400
- <div>
401
- <h3 class="text-xl font-display font-bold text-white mb-1">Traffic Overview</h3>
402
- <p class="text-slate-400 text-sm">Real-time visitor analytics</p>
403
- </div>
404
- <div class="flex gap-2 bg-slate-800/50 p-1 rounded-xl border border-slate-700">
405
- <button class="px-4 py-2 text-xs rounded-lg text-slate-400 hover:text-white transition-all">Day</button>
406
- <button class="px-4 py-2 text-xs rounded-lg bg-primary-600 text-white shadow-lg shadow-primary-500/30">Week</button>
407
- <button class="px-4 py-2 text-xs rounded-lg text-slate-400 hover:text-white transition-all">Month</button>
408
- </div>
409
- </div>
410
-
411
- <!-- SVG Chart with Artistic Grid -->
412
- <div class="relative h-80 w-full">
413
- <svg id="traffic-chart" class="w-full h-full overflow-visible" preserveAspectRatio="none">
414
- <!-- Grid Lines -->
415
- <defs>
416
- <pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
417
- <path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/>
418
- </pattern>
419
- <linearGradient id="gradient" x1="0%" y1="0%" x2="0%" y2="100%">
420
- <stop offset="0%" style="stop-color:#6366f1;stop-opacity:0.3" />
421
- <stop offset="100%" style="stop-color:#6366f1;stop-opacity:0" />
422
- </linearGradient>
423
- </defs>
424
- <rect width="100%" height="100%" fill="url(#grid)" />
425
-
426
- <!-- Chart Line -->
427
- <path id="chart-area" d="" fill="url(#gradient)" />
428
- <path id="chart-line" d="" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="chart-line" />
429
-
430
- <!-- Data Points -->
431
- <g id="chart-points"></g>
432
- </svg>
433
-
434
- <!-- Tooltip -->
435
- <div id="chart-tooltip" class="absolute pointer-events-none bg-slate-800 border border-slate-600 text-white text-xs rounded-lg px-3 py-2 opacity-0 transition-all shadow-2xl transform -translate-x-1/2 -translate-y-full mb-2 font-mono">
436
- <span id="tooltip-value">0</span> Visits
437
- <div class="absolute bottom-0 left-1/2 transform -translate-x-1/2 translate-y-1/2 rotate-45 w-2 h-2 bg-slate-800 border-r border-b border-slate-600"></div>
438
- </div>
439
- </div>
440
- </div>
441
-
442
- <!-- Interactive Elements Row -->
443
- <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
444
- <!-- System Controls -->
445
- <div class="glass-card p-8 rounded-2xl relative">
446
- <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-blue-500/10 to-transparent rounded-bl-full"></div>
447
- <h3 class="text-lg font-display font-bold text-white mb-6 flex items-center gap-2">
448
- <i class="fa-solid fa-microchip text-primary-400"></i>
449
- System Controls
450
- </h3>
451
-
452
- <div class="space-y-6">
453
- <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50 hover:border-primary-500/30 transition-all group">
454
- <div class="flex items-center gap-4">
455
- <div class="w-10 h-10 rounded-lg bg-blue-500/20 flex items-center justify-center text-blue-400 group-hover:scale-110 transition-transform">
456
- <i class="fa-solid fa-shield-halved"></i>
457
- </div>
458
- <div>
459
- <p class="text-white font-medium">Firewall Protection</p>
460
- <p class="text-xs text-slate-400">Active monitoring</p>
461
- </div>
462
- </div>
463
- <div class="relative inline-block w-12 align-middle select-none">
464
- <input type="checkbox" id="toggle-firewall" class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0" checked/>
465
- <label for="toggle-firewall" class="toggle-label block overflow-hidden h-6 rounded-full bg-slate-700 cursor-pointer transition-colors duration-300"></label>
466
- </div>
467
- </div>
468
-
469
- <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50 hover:border-purple-500/30 transition-all group">
470
- <div class="flex items-center gap-4">
471
- <div class="w-10 h-10 rounded-lg bg-purple-500/20 flex items-center justify-center text-purple-400 group-hover:scale-110 transition-transform">
472
- <i class="fa-solid fa-database"></i>
473
- </div>
474
- <div>
475
- <p class="text-white font-medium">Database Backup</p>
476
- <p class="text-xs text-slate-400">Auto-sync disabled</p>
477
- </div>
478
- </div>
479
- <div class="relative inline-block w-12 align-middle select-none">
480
- <input type="checkbox" id="toggle-db" class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0"/>
481
- <label for="toggle-db" class="toggle-label block overflow-hidden h-6 rounded-full bg-slate-700 cursor-pointer transition-colors duration-300"></label>
482
- </div>
483
- </div>
484
- </div>
485
-
486
- <button id="btn-optimize" class="mt-6 w-full py-4 bg-slate-700 hover:bg-slate-600 text-white rounded-xl transition-all flex items-center justify-center gap-2 geo-btn font-medium group">
487
- <i class="fa-solid fa-rocket group-hover:-translate-y-1 transition-transform"></i>
488
- <span>Run System Optimization</span>
489
- </button>
490
- </div>
491
-
492
- <!-- Appearance Settings -->
493
- <div class="glass-card p-8 rounded-2xl relative overflow-hidden">
494
- <div class="absolute top-0 right-0 w-40 h-40 bg-gradient-to-bl from-purple-500/10 to-transparent rounded-bl-full"></div>
495
- <h3 class="text-lg font-display font-bold text-white mb-2">Appearance</h3>
496
- <p class="text-sm text-slate-400 mb-8">Customize the accent color theme</p>
497
-
498
- <div class="grid grid-cols-5 gap-4 mb-8">
499
- <button class="color-btn w-12 h-12 rounded-xl bg-indigo-500 ring-2 ring-offset-2 ring-offset-slate-900 ring-white transition-all hover:scale-110 shadow-lg shadow-indigo-500/30" data-color="indigo"></button>
500
- <button class="color-btn w-12 h-12 rounded-xl bg-emerald-500 hover:scale-110 transition-all shadow-lg shadow-emerald-500/30" data-color="emerald"></button>
501
- <button class="color-btn w-12 h-12 rounded-xl bg-rose-500 hover:scale-110 transition-all shadow-lg shadow-rose-500/30" data-color="rose"></button>
502
- <button class="color-btn w-12 h-12 rounded-xl bg-amber-500 hover:scale-110 transition-all shadow-lg shadow-amber-500/30" data-color="amber"></button>
503
- <button class="color-btn w-12 h-12 rounded-xl bg-cyan-500 hover:scale-110 transition-all shadow-lg shadow-cyan-500/30" data-color="cyan"></button>
504
- </div>
505
-
506
- <div class="p-6 bg-slate-800/50 rounded-xl border border-slate-700 relative overflow-hidden">
507
- <div class="absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent -translate-x-full hover:translate-x-full transition-transform duration-1000"></div>
508
- <div class="flex items-center gap-4">
509
- <div class="w-14 h-14 rounded-xl bg-slate-700 flex items-center justify-center text-2xl relative overflow-hidden" id="preview-icon-bg">
510
- <div class="absolute inset-0 bg-gradient-to-br from-transparent to-black/20"></div>
511
- <i class="fa-solid fa-paintbrush text-indigo-400" id="preview-icon"></i>
512
- </div>
513
- <div>
514
- <h4 class="text-white font-medium font-display">Live Preview</h4>
515
- <p class="text-xs text-slate-400">Selected theme applies instantly</p>
516
- </div>
517
- </div>
518
- </div>
519
- </div>
520
- </div>
521
  </div>
 
522
 
523
- <!-- VIEW: TASKS -->
524
- <div id="view-tasks" class="hidden space-y-6 animate-slide-in max-w-4xl mx-auto">
525
- <div class="glass-card p-8 rounded-2xl relative">
526
- <div class="absolute top-0 left-0 w-2 h-full bg-gradient-to-b from-primary-500 to-purple-500"></div>
527
- <div class="flex items-center justify-between mb-8">
528
- <div>
529
- <h3 class="text-2xl font-display font-bold text-white mb-1">Task Manager</h3>
530
- <p class="text-slate-400 text-sm">Organize your workflow efficiently</p>
531
- </div>
532
- <div class="w-12 h-12 rounded-xl bg-primary-500/20 flex items-center justify-center border border-primary-500/30">
533
- <i class="fa-solid fa-list-check text-primary-400 text-xl"></i>
534
- </div>
535
- </div>
536
-
537
- <!-- Input Area -->
538
- <div class="flex gap-3 mb-8">
539
- <div class="flex-1 relative">
540
- <input type="text" id="task-input" placeholder="What needs to be done?"
541
- class="w-full bg-slate-800/50 border border-slate-700 text-white rounded-xl px-4 py-4 pl-12 focus:outline-none focus:border-primary-500 focus:ring-1 focus:ring-primary-500 transition-all placeholder-slate-500">
542
- <i class="fa-solid fa-plus absolute left-4 top-1/2 -translate-y-1/2 text-slate-500"></i>
543
- </div>
544
- <button id="btn-add-task" class="geo-btn bg-primary-600 hover:bg-primary-500 text-white px-6 py-4 rounded-xl font-medium transition-all shadow-lg shadow-primary-600/20 flex items-center gap-2">
545
- <span>Add Task</span>
546
- <i class="fa-solid fa-arrow-right"></i>
547
- </button>
548
- </div>
549
-
550
- <!-- Filters -->
551
- <div class="flex gap-6 border-b border-slate-700 mb-6">
552
- <button class="task-filter pb-4 border-b-2 border-primary-500 text-white font-medium transition-all" data-filter="all">All Tasks</button>
553
- <button class="task-filter pb-4 border-b-2 border-transparent text-slate-400 hover:text-white transition-all" data-filter="active">Active</button>
554
- <button class="task-filter pb-4 border-b-2 border-transparent text-slate-400 hover:text-white transition-all" data-filter="completed">Completed</button>
555
- </div>
556
-
557
- <!-- Task List -->
558
- <ul id="task-list" class="space-y-3">
559
- <!-- Tasks injected via JS -->
560
- </ul>
561
-
562
- <!-- Empty State -->
563
- <div id="empty-state" class="hidden flex-col items-center justify-center py-16 text-center">
564
- <div class="w-24 h-24 rounded-2xl bg-slate-800/50 flex items-center justify-center mb-6 rotate-3 hover:rotate-0 transition-transform duration-500 border border-slate-700">
565
- <i class="fa-solid fa-clipboard-check text-4xl text-slate-600"></i>
566
- </div>
567
- <p class="text-slate-400 text-lg">No tasks found. Enjoy your free time!</p>
568
- </div>
569
- </div>
570
  </div>
 
 
 
571
 
572
- <!-- VIEW: SETTINGS -->
573
- <div id="view-settings" class="hidden space-y-6 animate-slide-in max-w-3xl mx-auto">
574
- <div class="glass-card p-8 rounded-2xl relative">
575
- <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-slate-700/30 to-transparent rounded-bl-full"></div>
576
-
577
- <h3 class="text-2xl font-display font-bold text-white mb-8">System Settings</h3>
578
-
579
- <!-- Profile Section -->
580
- <div class="flex items-center gap-6 pb-8 border-b border-slate-700 mb-8">
581
- <div class="relative group cursor-pointer">
582
- <div class="absolute inset-0 bg-gradient-to-r from-primary-500 to-purple-500 rounded-2xl rotate-3 group-hover:rotate-6 transition-transform"></div>
583
- <img src="https://api.dicebear.com/7.x/avataaars/svg?seed=Felix" class="relative w-24 h-24 rounded-2xl bg-slate-800 border-2 border-slate-700 group-hover:scale-105 transition-transform">
584
- <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity bg-black/50 rounded-2xl">
585
- <i class="fa-solid fa-camera text-white text-2xl"></i>
586
- </div>
587
- </div>
588
- <div class="flex-1">
589
- <h4 class="text-xl font-display font-bold text-white mb-1">Admin User</h4>
590
- <p class="text-slate-400 mb-4">admin@nexus.dev</p>
591
- <button class="geo-btn bg-slate-700 hover:bg-slate-600 text-white px-6 py-2 rounded-xl text-sm font-medium transition-all">Edit Profile</button>
592
- </div>
593
- </div>
594
-
595
- <!-- General Settings -->
596
- <div class="space-y-6 mb-8">
597
- <h5 class="text-sm font-bold text-slate-500 uppercase tracking-wider mb-4">General</h5>
598
-
599
- <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50">
600
- <div>
601
- <p class="text-white font-medium">Email Notifications</p>
602
- <p class="text-sm text-slate-400">Receive daily summaries</p>
603
- </div>
604
- <div class="relative inline-block w-12 align-middle select-none">
605
- <input type="checkbox" checked class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0"/>
606
- <label class="toggle-label block overflow-hidden h-6 rounded-full bg-primary-600 cursor-pointer transition-colors duration-300"></label>
607
- </div>
608
- </div>
609
-
610
- <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50">
611
- <div>
612
- <p class="text-white font-medium">Two-Factor Authentication</p>
613
- <p class="text-sm text-slate-400">Secure your account</p>
614
- </div>
615
- <button class="text-primary-400 text-sm font-medium hover:text-primary-300 transition-colors">Enable</button>
616
- </div>
617
- </div>
618
-
619
- <!-- Danger Zone -->
620
- <div class="pt-8 border-t border-slate-700">
621
- <h5 class="text-sm font-bold text-red-500 uppercase tracking-wider mb-4">Danger Zone</h5>
622
- <div class="flex items-center justify-between bg-red-500/10 border border-red-500/20 p-6 rounded-xl">
623
- <div>
624
- <p class="text-red-400 font-medium font-display text-lg">Delete Account</p>
625
- <p class="text-sm text-red-400/70">This action cannot be undone.</p>
626
- </div>
627
- <button id="btn-delete-account" class="geo-btn bg-red-600 hover:bg-red-500 text-white px-6 py-3 rounded-xl text-sm font-medium transition-all shadow-lg shadow-red-600/20">
628
- Delete
629
- </button>
630
- </div>
631
- </div>
632
- </div>
633
  </div>
 
 
 
 
 
634
 
635
- <!-- Footer Credit -->
636
- <div class="mt-12 text-center pb-6">
637
- <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank"
638
- class="inline-flex items-center gap-2 px-6 py-3 rounded-full bg-slate-800/50 border border-slate-700 text-slate-400 hover:text-white hover:border-primary-500/50 transition-all group">
639
- <span class="w-2 h-2 rounded-full bg-primary-500 animate-pulse"></span>
640
- Built with anycoder
641
- <i class="fa-solid fa-arrow-up-right-from-square text-xs opacity-0 group-hover:opacity-100 transition-opacity"></i>
642
- </a>
643
- </div>
644
 
645
- </div>
646
- </main>
647
- </div>
648
 
649
- <!-- Toast Notification Container -->
650
- <div id="toast-container" class="fixed bottom-6 right-6 z-50 flex flex-col gap-3 pointer-events-none"></div>
651
 
652
- <!-- Modal Overlay -->
653
- <div id="modal-overlay" class="fixed inset-0 bg-black/80 backdrop-blur-sm z-50 hidden flex items-center justify-center opacity-0 transition-opacity duration-300">
654
- <div class="glass-card p-8 rounded-2xl max-w-md w-full mx-4 transform scale-95 transition-transform duration-300 border-red-500/30" id="modal-content">
655
- <div class="text-center">
656
- <div class="w-20 h-20 bg-red-500/20 rounded-2xl flex items-center justify-center mx-auto mb-6 rotate-3">
657
- <i class="fa-solid fa-triangle-exclamation text-3xl text-red-500"></i>
658
- </div>
659
- <h3 class="text-2xl font-display font-bold text-white mb-2">Are you sure?</h3>
660
- <p class="text-slate-400 mb-8">This action will permanently delete your account and all associated data.</p>
661
- <div class="flex gap-3 justify-center">
662
- <button id="btn-cancel-delete" class="geo-btn px-6 py-3 rounded-xl bg-slate-700 text-white hover:bg-slate-600 transition-all font-medium">Cancel</button>
663
- <button id="btn-confirm-delete" class="geo-btn px-6 py-3 rounded-xl bg-red-600 text-white hover:bg-red-500 transition-all font-medium shadow-lg shadow-red-600/20">Yes, Delete</button>
664
- </div>
665
- </div>
666
  </div>
 
 
 
 
 
 
 
667
  </div>
668
-
669
- <script>
670
- // --- State Management ---
671
- const state = {
672
- tasks: [
673
- { id: 1, text: "Review Q3 Analytics", completed: false },
674
- { id: 2, text: "Update Server Config", completed: true },
675
- { id: 3, text: "Team Meeting at 2 PM", completed: false }
676
- ],
677
- filter: 'all',
678
- theme: 'indigo'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
679
  };
680
-
681
- // --- Initialization ---
682
- document.addEventListener('DOMContentLoaded', () => {
683
- initCounters();
684
- initChart();
685
- renderTasks();
686
- setupEventListeners();
687
- startServerSimulation();
688
- });
689
-
690
- // --- Navigation ---
691
- function switchTab(tabName) {
692
- // Update Nav UI
693
- document.querySelectorAll('nav button').forEach(btn => {
694
- btn.classList.remove('bg-slate-800', 'text-white');
695
- btn.classList.add('text-slate-400');
696
- btn.querySelector('div.absolute')?.classList.remove('bg-primary-500');
697
- btn.querySelector('div.absolute')?.classList.add('bg-transparent');
698
- });
699
-
700
- const activeBtn = document.getElementById(`nav-${tabName}`);
701
- activeBtn.classList.add('bg-slate-800', 'text-white');
702
- activeBtn.classList.remove('text-slate-400');
703
- activeBtn.querySelector('div.absolute').classList.add('bg-primary-500');
704
- activeBtn.querySelector('div.absolute').classList.remove('bg-transparent');
705
-
706
- // Update View
707
- document.querySelectorAll('[id^="view-"]').forEach(view => view.classList.add('hidden'));
708
- const activeView = document.getElementById(`view-${tabName}`);
709
- activeView.classList.remove('hidden');
710
-
711
- // Trigger animation reset
712
- activeView.classList.remove('animate-fade-in', 'animate-slide-in');
713
- void activeView.offsetWidth;
714
- activeView.classList.add('animate-fade-in');
715
-
716
- // Update Title
717
- const titles = {
718
- 'dashboard': 'Dashboard Overview',
719
- 'tasks': 'Task Management',
720
- 'settings': 'System Settings'
721
- };
722
- document.getElementById('page-title
 
1
  <!DOCTYPE html>
2
  <html lang="en">
3
  <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Nexus Geometric Suite</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
9
+ <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
10
+ <script>
11
+ tailwind.config = {
12
+ theme: {
13
+ extend: {
14
+ fontFamily: {
15
+ sans: ['Inter', 'sans-serif'],
16
+ display: ['Space Grotesk', 'sans-serif'],
17
+ },
18
+ colors: {
19
+ slate: {
20
+ 850: '#1e293b',
21
+ 900: '#0f172a',
22
+ 950: '#020617',
23
+ },
24
+ primary: {
25
+ 400: '#818cf8',
26
+ 500: '#6366f1',
27
+ 600: '#4f46e5',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
+ },
30
+ animation: {
31
+ 'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
32
+ 'slide-in': 'slideIn 0.3s ease-out forwards',
33
+ 'fade-in': 'fadeIn 0.5s ease-out forwards',
34
+ 'float': 'float 20s infinite ease-in-out',
35
+ 'rotate-slow': 'rotate 30s linear infinite',
36
+ 'morph': 'morph 8s ease-in-out infinite',
37
+ },
38
+ keyframes: {
39
+ slideIn: {
40
+ '0%': { transform: 'translateY(-10px)', opacity: '0' },
41
+ '100%': { transform: 'translateY(0)', opacity: '1' },
42
+ },
43
+ fadeIn: {
44
+ '0%': { opacity: '0' },
45
+ '100%': { opacity: '1' },
46
+ },
47
+ float: {
48
+ '0%, 100%': { transform: 'translate(0, 0) rotate(0deg)' },
49
+ '25%': { transform: 'translate(50px, -30px) rotate(5deg)' },
50
+ '50%': { transform: 'translate(-30px, 50px) rotate(-5deg)' },
51
+ '75%': { transform: 'translate(-50px, -20px) rotate(3deg)' },
52
+ },
53
+ rotate: {
54
+ '0%': { transform: 'rotate(0deg)' },
55
+ '100%': { transform: 'rotate(360deg)' },
56
+ },
57
+ morph: {
58
+ '0%, 100%': { borderRadius: '60% 40% 30% 70%/60% 30% 70% 40%' },
59
+ '50%': { borderRadius: '30% 60% 70% 40%/50% 60% 30% 60%' },
60
+ }
61
+ }
62
  }
63
+ }
64
+ }
65
+ </script>
66
+ <style>
67
+ .geo-bg {
68
+ background-color: #020617;
69
+ background-image:
70
+ radial-gradient(circle at 20% 50%, rgba(99, 102, 241, 0.15) 0%, transparent 50%),
71
+ radial-gradient(circle at 80% 80%, rgba(236, 72, 153, 0.1) 0%, transparent 50%),
72
+ linear-gradient(45deg, rgba(15, 23, 42, 0.9) 0%, transparent 100%),
73
+ repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 11px),
74
+ repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 11px);
75
+ }
76
+
77
+ .geo-shape {
78
+ position: absolute;
79
+ pointer-events: none;
80
+ z-index: 0;
81
+ }
82
+
83
+ .geo-triangle {
84
+ width: 0;
85
+ height: 0;
86
+ border-left: 50px solid transparent;
87
+ border-right: 50px solid transparent;
88
+ border-bottom: 100px solid rgba(99, 102, 241, 0.1);
89
+ filter: drop-shadow(0 0 20px rgba(99, 102, 241, 0.3));
90
+ }
91
+
92
+ .geo-circle {
93
+ border-radius: 50%;
94
+ background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(236, 72, 153, 0.2));
95
+ backdrop-filter: blur(10px);
96
+ border: 1px solid rgba(255, 255, 255, 0.1);
97
+ }
98
+
99
+ .geo-hexagon {
100
+ width: 100px;
101
+ height: 57.74px;
102
+ background: rgba(255, 255, 255, 0.03);
103
+ position: relative;
104
+ margin: 28.87px 0;
105
+ border-left: 2px solid rgba(99, 102, 241, 0.3);
106
+ border-right: 2px solid rgba(99, 102, 241, 0.3);
107
+ }
108
+
109
+ .geo-hexagon:before,
110
+ .geo-hexagon:after {
111
+ content: "";
112
+ position: absolute;
113
+ width: 0;
114
+ border-left: 50px solid transparent;
115
+ border-right: 50px solid transparent;
116
+ }
117
+
118
+ .geo-hexagon:before {
119
+ bottom: 100%;
120
+ border-bottom: 28.87px solid rgba(255, 255, 255, 0.03);
121
+ }
122
+
123
+ .geo-hexagon:after {
124
+ top: 100%;
125
+ border-top: 28.87px solid rgba(255, 255, 255, 0.03);
126
+ }
127
+
128
+ .glass-card {
129
+ background: linear-gradient(135deg, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 0.9));
130
+ backdrop-filter: blur(20px);
131
+ border: 1px solid rgba(255, 255, 255, 0.1);
132
+ position: relative;
133
+ overflow: hidden;
134
+ }
135
+
136
+ .glass-card::before {
137
+ content: '';
138
+ position: absolute;
139
+ top: 0;
140
+ left: 0;
141
+ right: 0;
142
+ height: 2px;
143
+ background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.5), transparent);
144
+ }
145
+
146
+ .glass-card::after {
147
+ content: '';
148
+ position: absolute;
149
+ bottom: 0;
150
+ right: 0;
151
+ width: 100px;
152
+ height: 100px;
153
+ background: linear-gradient(135deg, transparent 50%, rgba(99, 102, 241, 0.05) 50%);
154
+ pointer-events: none;
155
+ }
156
+
157
+ ::-webkit-scrollbar {
158
+ width: 8px;
159
+ }
160
+
161
+ ::-webkit-scrollbar-track {
162
+ background: #0f172a;
163
+ }
164
+
165
+ ::-webkit-scrollbar-thumb {
166
+ background: #334155;
167
+ border-radius: 4px;
168
+ }
169
+
170
+ ::-webkit-scrollbar-thumb:hover {
171
+ background: #475569;
172
+ }
173
+
174
+ .toggle-checkbox:checked {
175
+ right: 0;
176
+ border-color: #6366f1;
177
+ }
178
+
179
+ .toggle-checkbox:checked + .toggle-label {
180
+ background-color: #6366f1;
181
+ }
182
+
183
+ .chart-line {
184
+ stroke-dasharray: 1000;
185
+ stroke-dashoffset: 1000;
186
+ animation: drawLine 2s ease-out forwards;
187
+ }
188
+
189
+ @keyframes drawLine {
190
+ to {
191
+ stroke-dashoffset: 0;
192
+ }
193
+ }
194
+
195
+ .confetti {
196
+ position: absolute;
197
+ width: 10px;
198
+ height: 10px;
199
+ animation: fall linear forwards;
200
+ clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
201
+ }
202
+
203
+ @keyframes fall {
204
+ to {
205
+ transform: translateY(100vh) rotate(720deg);
206
+ }
207
+ }
208
+
209
+ .geo-btn {
210
+ position: relative;
211
+ overflow: hidden;
212
+ transition: all 0.3s ease;
213
+ }
214
+
215
+ .geo-btn::before {
216
+ content: '';
217
+ position: absolute;
218
+ top: 50%;
219
+ left: 50%;
220
+ width: 0;
221
+ height: 0;
222
+ background: rgba(255, 255, 255, 0.1);
223
+ transform: translate(-50%, -50%) rotate(45deg);
224
+ transition: width 0.6s, height 0.6s;
225
+ }
226
+
227
+ .geo-btn:hover::before {
228
+ width: 300px;
229
+ height: 300px;
230
+ }
231
+
232
+ .grid-pattern {
233
+ background-image:
234
+ linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
235
+ linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
236
+ background-size: 50px 50px;
237
+ }
238
+ </style>
239
+ </head>
240
+ <body class="geo-bg text-slate-200 font-sans antialiased overflow-hidden h-screen selection:bg-primary-500 selection:text-white">
241
 
242
+ <!-- Floating Geometric Background Elements -->
243
+ <div class="fixed inset-0 overflow-hidden pointer-events-none">
244
+ <div class="geo-shape geo-triangle top-20 left-10 animate-float" style="animation-delay: 0s; opacity: 0.3;"></div>
245
+ <div class="geo-shape geo-circle w-32 h-32 top-40 right-20 animate-morph" style="animation-delay: 2s;"></div>
246
+ <div class="geo-shape geo-hexagon bottom-40 left-20 animate-float" style="animation-delay: 4s; opacity: 0.2;"></div>
247
+ <div class="geo-shape geo-circle w-48 h-48 bottom-20 right-40 animate-rotate-slow" style="border: 2px solid rgba(99, 102, 241, 0.1); background: transparent;"></div>
248
+ <div class="geo-shape w-0 h-0 top-60 left-1/3 animate-float" style="border-left: 30px solid transparent; border-right: 30px solid transparent; border-bottom: 60px solid rgba(236, 72, 153, 0.1); animation-delay: 6s;"></div>
249
+ </div>
250
+
251
+ <!-- App Container -->
252
+ <div class="flex h-full relative z-10">
253
+
254
+ <!-- Sidebar with Geometric Accent -->
255
+ <aside class="w-20 lg:w-64 bg-slate-900/90 backdrop-blur-xl border-r border-slate-800 flex flex-col justify-between relative overflow-hidden">
256
+ <div class="absolute top-0 right-0 w-20 h-20 bg-gradient-to-bl from-primary-500/20 to-transparent"></div>
257
+ <div class="absolute bottom-0 left-0 w-full h-1 bg-gradient-to-r from-primary-500 via-purple-500 to-transparent"></div>
258
+
259
+ <div>
260
+ <div class="h-20 flex items-center justify-center lg:justify-start lg:px-6 border-b border-slate-800 relative">
261
+ <div class="w-10 h-10 relative">
262
+ <div class="absolute inset-0 bg-primary-500 rotate-45 transform"></div>
263
+ <div class="absolute inset-1 bg-slate-900 rotate-45 transform flex items-center justify-center">
264
+ <i class="fa-solid fa-layer-group text-primary-400 text-sm"></i>
265
+ </div>
266
+ </div>
267
+ <span class="ml-4 font-display font-bold text-xl hidden lg:block tracking-tight">NEXUS<span class="text-primary-400">.OS</span></span>
268
+ </div>
269
 
270
+ <nav class="mt-8 px-2 lg:px-4 space-y-2">
271
+ <button onclick="switchTab('dashboard')" id="nav-dashboard" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden active-nav bg-slate-800 text-white">
272
+ <div class="absolute left-0 top-0 bottom-0 w-1 bg-primary-500 rounded-r"></div>
273
+ <i class="fa-solid fa-chart-pie w-6 text-center group-hover:text-primary-400 transition-colors"></i>
274
+ <span class="ml-3 hidden lg:block font-medium">Dashboard</span>
275
+ </button>
276
+ <button onclick="switchTab('tasks')" id="nav-tasks" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden">
277
+ <div class="absolute left-0 top-0 bottom-0 w-1 bg-transparent group-hover:bg-primary-500 rounded-r transition-all"></div>
278
+ <i class="fa-solid fa-list-check w-6 text-center group-hover:text-primary-400 transition-colors"></i>
279
+ <span class="ml-3 hidden lg:block font-medium">Tasks</span>
280
+ <span id="task-badge" class="ml-auto hidden lg:flex bg-primary-500 text-xs font-bold px-2 py-0.5 rounded-full text-white opacity-0 transition-opacity">0</span>
281
+ </button>
282
+ <button onclick="switchTab('settings')" id="nav-settings" class="w-full flex items-center p-3 rounded-xl text-slate-400 hover:bg-slate-800 hover:text-white transition-all group relative overflow-hidden">
283
+ <div class="absolute left-0 top-0 bottom-0 w-1 bg-transparent group-hover:bg-primary-500 rounded-r transition-all"></div>
284
+ <i class="fa-solid fa-sliders w-6 text-center group-hover:text-primary-400 transition-colors"></i>
285
+ <span class="ml-3 hidden lg:block font-medium">Settings</span>
286
+ </button>
287
+ </nav>
288
+ </div>
289
+
290
+ <div class="p-4 border-t border-slate-800 relative">
291
+ <div class="flex items-center gap-3">
292
+ <div class="relative">
293
+ <img src="https://api.dicebear.com/7.x/avataaars/svg?seed=Felix" alt="User" class="w-10 h-10 rounded-lg bg-slate-700 border-2 border-slate-600 transform rotate-3 hover:rotate-0 transition-transform">
294
+ <div class="absolute -bottom-1 -right-1 w-3 h-3 bg-emerald-500 border-2 border-slate-900 rounded-full"></div>
295
+ </div>
296
+ <div class="hidden lg:block">
297
+ <p class="text-sm font-semibold text-white font-display">Admin User</p>
298
+ <p class="text-xs text-slate-500">Pro Plan</p>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ </aside>
303
+
304
+ <!-- Main Content -->
305
+ <main class="flex-1 flex flex-col relative overflow-hidden">
306
+ <div class="absolute inset-0 grid-pattern opacity-50 pointer-events-none"></div>
307
+
308
+ <!-- Top Header -->
309
+ <header class="h-20 glass-card border-b border-slate-800 flex items-center justify-between px-6 z-10 relative">
310
+ <div class="flex items-center gap-4">
311
+ <h2 id="page-title" class="text-2xl font-display font-bold text-white tracking-tight">Dashboard Overview</h2>
312
+ <div class="hidden md:flex items-center gap-2 px-3 py-1 rounded-full bg-slate-800/50 border border-slate-700 text-xs text-slate-400">
313
+ <div class="w-2 h-2 rounded-full bg-emerald-500 animate-pulse"></div>
314
+ System Online
315
+ </div>
316
+ </div>
317
+ <div class="flex items-center gap-4">
318
+ <button id="btn-notification" class="relative p-3 rounded-xl text-slate-400 hover:text-white hover:bg-slate-800 transition-all geo-btn">
319
+ <i class="fa-regular fa-bell text-lg"></i>
320
+ <span class="absolute top-2 right-2 w-2 h-2 bg-red-500 rounded-full animate-pulse"></span>
321
+ </button>
322
+ <button class="geo-btn bg-primary-600 hover:bg-primary-500 text-white px-6 py-3 rounded-xl text-sm font-medium transition-all shadow-lg shadow-primary-600/20 flex items-center gap-2 relative overflow-hidden" onclick="alert('Quick Action Triggered')">
323
+ <i class="fa-solid fa-plus"></i>
324
+ <span class="relative z-10">New Project</span>
325
+ </button>
326
+ </div>
327
+ </header>
328
+
329
+ <!-- Scrollable Content Area -->
330
+ <div class="flex-1 overflow-y-auto p-6 relative" id="main-scroll">
331
+
332
+ <!-- VIEW: DASHBOARD -->
333
+ <div id="view-dashboard" class="space-y-6 animate-fade-in max-w-7xl mx-auto">
334
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
335
+ <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-primary-500/30 transition-all duration-500">
336
+ <div class="absolute top-0 right-0 w-24 h-24 bg-primary-500/10 rotate-45 transform translate-x-12 -translate-y-12 group-hover:rotate-90 transition-transform duration-700"></div>
337
+ <div class="relative z-10">
338
+ <div class="flex items-center justify-between mb-4">
339
+ <div class="w-12 h-12 rounded-xl bg-primary-500/20 flex items-center justify-center border border-primary-500/30">
340
+ <i class="fa-solid fa-users text-primary-400 text-xl"></i>
341
+ </div>
342
+ <span class="text-emerald-400 text-sm font-medium flex items-center gap-1">
343
+ <i class="fa-solid fa-arrow-trend-up"></i> +12.5%
344
+ </span>
345
+ </div>
346
+ <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Total Visitors</p>
347
+ <h3 class="text-4xl font-display font-bold text-white counter" data-target="8452">0</h3>
348
+ </div>
349
+ <div class="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-primary-500 to-purple-500"></div>
350
+ </div>
351
 
352
+ <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-yellow-500/30 transition-all duration-500">
353
+ <div class="absolute top-0 right-0 w-24 h-24 bg-yellow-500/10 rotate-12 transform translate-x-8 -translate-y-8 group-hover:rotate-45 transition-transform duration-700"></div>
354
+ <div class="relative z-10">
355
+ <div class="flex items-center justify-between mb-4">
356
+ <div class="w-12 h-12 rounded-full bg-yellow-500/20 flex items-center justify-center border border-yellow-500/30">
357
+ <i class="fa-solid fa-bolt text-yellow-400 text-xl"></i>
358
+ </div>
359
+ <span class="text-slate-400 text-sm font-medium">Live</span>
360
+ </div>
361
+ <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Server Load</p>
362
+ <div class="flex items-end gap-3">
363
+ <h3 class="text-4xl font-display font-bold text-white"><span id="server-load">42</span>%</h3>
364
+ <div class="flex-1 h-2 bg-slate-700 rounded-full mb-3 overflow-hidden">
365
+ <div id="load-bar" class="bg-yellow-500 h-full rounded-full transition-all duration-1000 relative" style="width: 42%">
366
+ <div class="absolute inset-0 bg-white/20 animate-pulse"></div>
367
+ </div>
368
+ </div>
369
+ </div>
370
+ </div>
371
+ </div>
372
 
373
+ <div class="glass-card p-6 rounded-2xl relative overflow-hidden group hover:border-emerald-500/30 transition-all duration-500">
374
+ <div class="absolute -bottom-4 -right-4 w-32 h-32 bg-emerald-500/10 rounded-full group-hover:scale-150 transition-transform duration-700"></div>
375
+ <div class="relative z-10">
376
+ <div class="flex items-center justify-between mb-4">
377
+ <div class="w-12 h-12 rounded-lg bg-emerald-500/20 flex items-center justify-center border border-emerald-500/30 transform rotate-3">
378
+ <i class="fa-solid fa-wallet text-emerald-400 text-xl"></i>
379
+ </div>
380
+ <span class="text-emerald-400 text-sm font-medium flex items-center gap-1">
381
+ <i class="fa-solid fa-arrow-trend-up"></i> +4.2%
382
+ </span>
383
+ </div>
384
+ <p class="text-slate-400 text-sm font-medium uppercase tracking-wider mb-1">Revenue</p>
385
+ <h3 class="text-4xl font-display font-bold text-white">$<span class="counter" data-target="12450">0</span></h3>
386
+ </div>
387
+ </div>
388
+ </div>
389
+
390
+ <div class="glass-card p-8 rounded-2xl relative overflow-hidden">
391
+ <div class="absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-500 via-purple-500 to-emerald-500 opacity-50"></div>
392
+ <div class="flex justify-between items-center mb-8">
393
+ <div>
394
+ <h3 class="text-xl font-display font-bold text-white mb-1">Traffic Overview</h3>
395
+ <p class="text-slate-400 text-sm">Real-time visitor analytics</p>
396
+ </div>
397
+ <div class="flex gap-2 bg-slate-800/50 p-1 rounded-xl border border-slate-700">
398
+ <button class="px-4 py-2 text-xs rounded-lg text-slate-400 hover:text-white transition-all">Day</button>
399
+ <button class="px-4 py-2 text-xs rounded-lg bg-primary-600 text-white shadow-lg shadow-primary-500/30">Week</button>
400
+ <button class="px-4 py-2 text-xs rounded-lg text-slate-400 hover:text-white transition-all">Month</button>
401
+ </div>
402
+ </div>
403
 
404
+ <div class="relative h-80 w-full">
405
+ <svg id="traffic-chart" class="w-full h-full overflow-visible" preserveAspectRatio="none">
406
+ <defs>
407
+ <pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
408
+ <path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1" />
409
+ </pattern>
410
+ <linearGradient id="gradient" x1="0%" y1="0%" x2="0%" y2="100%">
411
+ <stop offset="0%" style="stop-color:#6366f1;stop-opacity:0.3" />
412
+ <stop offset="100%" style="stop-color:#6366f1;stop-opacity:0" />
413
+ </linearGradient>
414
+ </defs>
415
+ <rect width="100%" height="100%" fill="url(#grid)" />
416
+ <path id="chart-area" d="" fill="url(#gradient)" />
417
+ <path id="chart-line" d="" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="chart-line" />
418
+ <g id="chart-points"></g>
419
+ </svg>
420
+
421
+ <div id="chart-tooltip" class="absolute pointer-events-none bg-slate-800 border border-slate-600 text-white text-xs rounded-lg px-3 py-2 opacity-0 transition-all shadow-2xl transform -translate-x-1/2 -translate-y-full mb-2 font-mono">
422
+ <span id="tooltip-value">0</span> Visits
423
+ <div class="absolute bottom-0 left-1/2 transform -translate-x-1/2 translate-y-1/2 rotate-45 w-2 h-2 bg-slate-800 border-r border-b border-slate-600"></div>
424
+ </div>
425
+ </div>
426
+ </div>
427
+
428
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
429
+ <div class="glass-card p-8 rounded-2xl relative">
430
+ <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-blue-500/10 to-transparent rounded-bl-full"></div>
431
+ <h3 class="text-lg font-display font-bold text-white mb-6 flex items-center gap-2">
432
+ <i class="fa-solid fa-microchip text-primary-400"></i>
433
+ System Controls
434
+ </h3>
435
+
436
+ <div class="space-y-6">
437
+ <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50 hover:border-primary-500/30 transition-all group">
438
+ <div class="flex items-center gap-4">
439
+ <div class="w-10 h-10 rounded-lg bg-blue-500/20 flex items-center justify-center text-blue-400 group-hover:scale-110 transition-transform">
440
+ <i class="fa-solid fa-shield-halved"></i>
441
+ </div>
442
+ <div>
443
+ <p class="text-white font-medium">Firewall Protection</p>
444
+ <p class="text-xs text-slate-400">Active monitoring</p>
445
+ </div>
446
+ </div>
447
+ <div class="relative inline-block w-12 align-middle select-none">
448
+ <input type="checkbox" id="toggle-firewall" class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0" checked/>
449
+ <label for="toggle-firewall" class="toggle-label block overflow-hidden h-6 rounded-full bg-slate-700 cursor-pointer transition-colors duration-300"></label>
450
+ </div>
451
+ </div>
452
 
453
+ <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50 hover:border-purple-500/30 transition-all group">
454
+ <div class="flex items-center gap-4">
455
+ <div class="w-10 h-10 rounded-lg bg-purple-500/20 flex items-center justify-center text-purple-400 group-hover:scale-110 transition-transform">
456
+ <i class="fa-solid fa-database"></i>
457
+ </div>
458
+ <div>
459
+ <p class="text-white font-medium">Database Backup</p>
460
+ <p class="text-xs text-slate-400">Auto-sync disabled</p>
461
+ </div>
462
+ </div>
463
+ <div class="relative inline-block w-12 align-middle select-none">
464
+ <input type="checkbox" id="toggle-db" class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0"/>
465
+ <label for="toggle-db" class="toggle-label block overflow-hidden h-6 rounded-full bg-slate-700 cursor-pointer transition-colors duration-300"></label>
466
+ </div>
467
+ </div>
468
+ </div>
469
 
470
+ <button id="btn-optimize" class="mt-6 w-full py-4 bg-slate-700 hover:bg-slate-600 text-white rounded-xl transition-all flex items-center justify-center gap-2 geo-btn font-medium group">
471
+ <i class="fa-solid fa-rocket group-hover:-translate-y-1 transition-transform"></i>
472
+ <span>Run System Optimization</span>
473
+ </button>
474
+ </div>
 
475
 
476
+ <div class="glass-card p-8 rounded-2xl relative overflow-hidden">
477
+ <div class="absolute top-0 right-0 w-40 h-40 bg-gradient-to-bl from-purple-500/10 to-transparent rounded-bl-full"></div>
478
+ <h3 class="text-lg font-display font-bold text-white mb-2">Appearance</h3>
479
+ <p class="text-sm text-slate-400 mb-8">Customize the accent color theme</p>
480
+
481
+ <div class="grid grid-cols-5 gap-4 mb-8">
482
+ <button class="color-btn w-12 h-12 rounded-xl bg-indigo-500 ring-2 ring-offset-2 ring-offset-slate-900 ring-white transition-all hover:scale-110 shadow-lg shadow-indigo-500/30" data-color="indigo"></button>
483
+ <button class="color-btn w-12 h-12 rounded-xl bg-emerald-500 hover:scale-110 transition-all shadow-lg shadow-emerald-500/30" data-color="emerald"></button>
484
+ <button class="color-btn w-12 h-12 rounded-xl bg-rose-500 hover:scale-110 transition-all shadow-lg shadow-rose-500/30" data-color="rose"></button>
485
+ <button class="color-btn w-12 h-12 rounded-xl bg-amber-500 hover:scale-110 transition-all shadow-lg shadow-amber-500/30" data-color="amber"></button>
486
+ <button class="color-btn w-12 h-12 rounded-xl bg-cyan-500 hover:scale-110 transition-all shadow-lg shadow-cyan-500/30" data-color="cyan"></button>
487
+ </div>
488
+
489
+ <div class="p-6 bg-slate-800/50 rounded-xl border border-slate-700 relative overflow-hidden">
490
+ <div class="absolute inset-0 bg-gradient-to-r from-transparent via-white/5 to-transparent -translate-x-full hover:translate-x-full transition-transform duration-1000"></div>
491
+ <div class="flex items-center gap-4">
492
+ <div class="w-14 h-14 rounded-xl bg-slate-700 flex items-center justify-center text-2xl relative overflow-hidden" id="preview-icon-bg">
493
+ <div class="absolute inset-0 bg-gradient-to-br from-transparent to-black/20"></div>
494
+ <i class="fa-solid fa-paintbrush text-indigo-400" id="preview-icon"></i>
495
+ </div>
496
+ <div>
497
+ <h4 class="text-white font-medium font-display">Live Preview</h4>
498
+ <p class="text-xs text-slate-400">Selected theme applies instantly</p>
499
+ </div>
500
+ </div>
501
+ </div>
502
+ </div>
503
+ </div>
504
+ </div>
505
 
506
+ <!-- VIEW: TASKS -->
507
+ <div id="view-tasks" class="hidden space-y-6 animate-slide-in max-w-4xl mx-auto">
508
+ <div class="glass-card p-8 rounded-2xl relative">
509
+ <div class="absolute top-0 left-0 w-2 h-full bg-gradient-to-b from-primary-500 to-purple-500"></div>
510
+ <div class="flex items-center justify-between mb-8">
511
+ <div>
512
+ <h3 class="text-2xl font-display font-bold text-white mb-1">Task Manager</h3>
513
+ <p class="text-slate-400 text-sm">Organize your workflow efficiently</p>
514
+ </div>
515
+ <div class="w-12 h-12 rounded-xl bg-primary-500/20 flex items-center justify-center border border-primary-500/30">
516
+ <i class="fa-solid fa-list-check text-primary-400 text-xl"></i>
517
+ </div>
518
+ </div>
519
 
520
+ <div class="flex gap-3 mb-8">
521
+ <div class="flex-1 relative">
522
+ <input type="text" id="task-input" placeholder="What needs to be done?" class="w-full bg-slate-800/50 border border-slate-700 text-white rounded-xl px-4 py-4 pl-12 focus:outline-none focus:border-primary-500 focus:ring-1 focus:ring-primary-500 transition-all placeholder-slate-500">
523
+ <i class="fa-solid fa-plus absolute left-4 top-1/2 -translate-y-1/2 text-slate-500"></i>
524
+ </div>
525
+ <button id="btn-add-task" class="geo-btn bg-primary-600 hover:bg-primary-500 text-white px-6 py-4 rounded-xl font-medium transition-all shadow-lg shadow-primary-600/20 flex items-center gap-2">
526
+ <span>Add Task</span>
527
+ <i class="fa-solid fa-arrow-right"></i>
528
+ </button>
529
+ </div>
530
 
531
+ <div class="flex gap-6 border-b border-slate-700 mb-6">
532
+ <button class="task-filter pb-4 border-b-2 border-primary-500 text-white font-medium transition-all" data-filter="all">All Tasks</button>
533
+ <button class="task-filter pb-4 border-b-2 border-transparent text-slate-400 hover:text-white transition-all" data-filter="active">Active</button>
534
+ <button class="task-filter pb-4 border-b-2 border-transparent text-slate-400 hover:text-white transition-all" data-filter="completed">Completed</button>
535
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
536
 
537
+ <ul id="task-list" class="space-y-3"></ul>
 
 
 
 
 
 
 
 
 
538
 
539
+ <div id="empty-state" class="hidden flex-col items-center justify-center py-16 text-center">
540
+ <div class="w-24 h-24 rounded-2xl bg-slate-800/50 flex items-center justify-center mb-6 rotate-3 hover:rotate-0 transition-transform duration-500 border border-slate-700">
541
+ <i class="fa-solid fa-clipboard-check text-4xl text-slate-600"></i>
542
+ </div>
543
+ <p class="text-slate-400 text-lg">No tasks found. Enjoy your free time!</p>
544
+ </div>
545
+ </div>
546
+ </div>
547
 
548
+ <!-- VIEW: SETTINGS -->
549
+ <div id="view-settings" class="hidden space-y-6 animate-slide-in max-w-3xl mx-auto">
550
+ <div class="glass-card p-8 rounded-2xl relative">
551
+ <div class="absolute top-0 right-0 w-32 h-32 bg-gradient-to-bl from-slate-700/30 to-transparent rounded-bl-full"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
552
 
553
+ <h3 class="text-2xl font-display font-bold text-white mb-8">System Settings</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
 
555
+ <div class="flex items-center gap-6 pb-8 border-b border-slate-700 mb-8">
556
+ <div class="relative group cursor-pointer">
557
+ <div class="absolute inset-0 bg-gradient-to-r from-primary-500 to-purple-500 rounded-2xl rotate-3 group-hover:rotate-6 transition-transform"></div>
558
+ <img src="https://api.dicebear.com/7.x/avataaars/svg?seed=Felix" class="relative w-24 h-24 rounded-2xl bg-slate-800 border-2 border-slate-700 group-hover:scale-105 transition-transform">
559
+ <div class="absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity bg-black/50 rounded-2xl">
560
+ <i class="fa-solid fa-camera text-white text-2xl"></i>
 
 
 
 
561
  </div>
562
+ </div>
563
+ <div class="flex-1">
564
+ <h4 class="text-xl font-display font-bold text-white mb-1">Admin User</h4>
565
+ <p class="text-slate-400 mb-4">admin@nexus.dev</p>
566
+ <button class="geo-btn bg-slate-700 hover:bg-slate-600 text-white px-6 py-2 rounded-xl text-sm font-medium transition-all">Edit Profile</button>
567
+ </div>
568
  </div>
 
569
 
570
+ <div class="space-y-6 mb-8">
571
+ <h5 class="text-sm font-bold text-slate-500 uppercase tracking-wider mb-4">General</h5>
 
 
572
 
573
+ <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50">
574
+ <div>
575
+ <p class="text-white font-medium">Email Notifications</p>
576
+ <p class="text-sm text-slate-400">Receive daily summaries</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
577
  </div>
578
+ <div class="relative inline-block w-12 align-middle select-none">
579
+ <input type="checkbox" checked class="toggle-checkbox absolute block w-6 h-6 rounded-full bg-white border-4 appearance-none cursor-pointer transition-all duration-300 left-0 top-0"/>
580
+ <label class="toggle-label block overflow-hidden h-6 rounded-full bg-primary-600 cursor-pointer transition-colors duration-300"></label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
581
  </div>
582
+ </div>
583
 
584
+ <div class="flex items-center justify-between p-4 rounded-xl bg-slate-800/30 border border-slate-700/50">
585
+ <div>
586
+ <p class="text-white font-medium">Two-Factor Authentication</p>
587
+ <p class="text-sm text-slate-400">Secure your account</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
588
  </div>
589
+ <button class="text-primary-400 text-sm font-medium hover:text-primary-300 transition-colors">Enable</button>
590
+ </div>
591
+ </div>
592
 
593
+ <div class="pt-8 border-t border-slate-700">
594
+ <h5 class="text-sm font-bold text-red-500 uppercase tracking-wider mb-4">Danger Zone</h5>
595
+ <div class="flex items-center justify-between bg-red-500/10 border border-red-500/20 p-6 rounded-xl">
596
+ <div>
597
+ <p class="text-red-400 font-medium font-display text-lg">Delete Account</p>
598
+ <p class="text-sm text-red-400/70">This action cannot be undone.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
599
  </div>
600
+ <button id="btn-delete-account" class="geo-btn bg-red-600 hover:bg-red-500 text-white px-6 py-3 rounded-xl text-sm font-medium transition-all shadow-lg shadow-red-600/20">Delete</button>
601
+ </div>
602
+ </div>
603
+ </div>
604
+ </div>
605
 
606
+ <!-- Footer Credit -->
607
+ <div class="mt-12 text-center pb-6">
608
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="inline-flex items-center gap-2 px-6 py-3 rounded-full bg-slate-800/50 border border-slate-700 text-slate-400 hover:text-white hover:border-primary-500/50 transition-all group">
609
+ <span class="w-2 h-2 rounded-full bg-primary-500 animate-pulse"></span>
610
+ Built with anycoder
611
+ <i class="fa-solid fa-arrow-up-right-from-square text-xs opacity-0 group-hover:opacity-100 transition-opacity"></i>
612
+ </a>
613
+ </div>
 
614
 
615
+ </div>
616
+ </main>
617
+ </div>
618
 
619
+ <!-- Toast Notification Container -->
620
+ <div id="toast-container" class="fixed bottom-6 right-6 z-50 flex flex-col gap-3 pointer-events-none"></div>
621
 
622
+ <!-- Modal Overlay -->
623
+ <div id="modal-overlay" class="fixed inset-0 bg-black/80 backdrop-blur-sm z-50 hidden flex items-center justify-center opacity-0 transition-opacity duration-300">
624
+ <div class="glass-card p-8 rounded-2xl max-w-md w-full mx-4 transform scale-95 transition-transform duration-300 border-red-500/30" id="modal-content">
625
+ <div class="text-center">
626
+ <div class="w-20 h-20 bg-red-500/20 rounded-2xl flex items-center justify-center mx-auto mb-6 rotate-3">
627
+ <i class="fa-solid fa-triangle-exclamation text-3xl text-red-500"></i>
 
 
 
 
 
 
 
 
628
  </div>
629
+ <h3 class="text-2xl font-display font-bold text-white mb-2">Are you sure?</h3>
630
+ <p class="text-slate-400 mb-8">This action will permanently delete your account and all associated data.</p>
631
+ <div class="flex gap-3 justify-center">
632
+ <button id="btn-cancel-delete" class="geo-btn px-6 py-3 rounded-xl bg-slate-700 text-white hover:bg-slate-600 transition-all font-medium">Cancel</button>
633
+ <button id="btn-confirm-delete" class="geo-btn px-6 py-3 rounded-xl bg-red-600 text-white hover:bg-red-500 transition-all font-medium shadow-lg shadow-red-600/20">Yes, Delete</button>
634
+ </div>
635
+ </div>
636
  </div>
637
+ </div>
638
+
639
+ <script>
640
+ const state = {
641
+ tasks: [
642
+ { id: 1, text: "Review Q3 Analytics", completed: false },
643
+ { id: 2, text: "Update Server Config", completed: true },
644
+ { id: 3, text: "Team Meeting at 2 PM", completed: false }
645
+ ],
646
+ filter: 'all',
647
+ theme: 'indigo'
648
+ };
649
+
650
+ document.addEventListener('DOMContentLoaded', () => {
651
+ initCounters();
652
+ initChart();
653
+ renderTasks();
654
+ setupEventListeners();
655
+ startServerSimulation();
656
+ });
657
+
658
+ function switchTab(tabName) {
659
+ document.querySelectorAll('nav button').forEach(btn => {
660
+ btn.classList.remove('bg-slate-800', 'text-white');
661
+ btn.classList.add('text-slate-400');
662
+ btn.querySelector('div.absolute')?.classList.remove('bg-primary-500');
663
+ btn.querySelector('div.absolute')?.classList.add('bg-transparent');
664
+ });
665
+
666
+ const activeBtn = document.getElementById(`nav-${tabName}`);
667
+ activeBtn.classList.add('bg-slate-800', 'text-white');
668
+ activeBtn.classList.remove('text-slate-400');
669
+ activeBtn.querySelector('div.absolute').classList.add('bg-primary-500');
670
+ activeBtn.querySelector('div.absolute').classList.remove('bg-transparent');
671
+
672
+ document.querySelectorAll('[id^="view-"]').forEach(view => view.classList.add('hidden'));
673
+ const activeView = document.getElementById(`view-${tabName}`);
674
+ activeView.classList.remove('hidden');
675
+
676
+ activeView.classList.remove('animate-fade-in', 'animate-slide-in');
677
+ void activeView.offsetWidth;
678
+ activeView.classList.add('animate-fade-in');
679
+
680
+ const titles = {
681
+ 'dashboard': 'Dashboard Overview',
682
+ 'tasks': 'Task Management',
683
+ 'settings': 'System Settings'
684
+ };
685
+ document.getElementById('page-title').textContent = titles[tabName];
686
+ }
687
+
688
+ function initCounters() {
689
+ const counters = document.querySelectorAll('.counter');
690
+ counters.forEach(counter => {
691
+ const target = parseInt(counter.getAttribute('data-target'));
692
+ const duration = 2000;
693
+ const step = target / (duration / 16);
694
+ let current = 0;
695
+
696
+ const updateCounter = () => {
697
+ current += step;
698
+ if (current < target) {
699
+ counter.textContent = Math.floor(current).toLocaleString();
700
+ requestAnimationFrame(updateCounter);
701
+ } else {
702
+ counter.textContent = target.toLocaleString();
703
+ }
704
  };
705
+
706
+ updateCounter();
707
+ });
708
+ }
709
+
710
+ function initChart() {
711
+ const svg = document.getElementById('traffic-chart');
712
+ const linePath = document.getElementById('chart-line');
713
+ const areaPath = document.getElementById('chart-area');
714
+ const pointsGroup = document.getElementById('chart-points');
715
+ const tooltip = document.getElementById('chart-tooltip');
716
+ const tooltipValue = document.getElementById('tooltip-value');
717
+
718
+ const data = [30, 45, 35, 55, 48, 62, 58, 75, 68, 85, 78, 92];
719
+ const width = svg.clientWidth || 800;
720
+ const height = svg.clientHeight || 320;
721
+ const padding = 40;
722
+
723
+ const maxValue = Math.max(...data);
724
+ const minValue = Math.min(...data);
725
+ const range = maxValue - minValue;
726
+
727
+ const xStep = (width - padding * 2) / (data.length - 1);
728
+
729
+ const points = data.map((value, index) => {
730
+ const x = padding + index * xStep;
731
+ const y = height - padding - ((value - minValue) / range) * (height - padding * 2);
732
+ return { x, y, value };
733
+ });
734
+
735
+ const lineD = points.reduce((acc, point, index) => {
736
+ if (index === 0) return `M ${point.x} ${point.y}`;
737
+ const prev = points[index - 1];
738
+ const cpX = (prev.x + point.x) / 2;
739
+ return `${acc} C ${cpX} ${prev.y}, ${cpX} ${point.y}, ${point.x} ${point.y}`;
740
+ }, '');
741
+
742
+ const areaD = `${lineD} L ${points[points.length - 1].x} ${height - padding} L ${points[0].x} ${height - padding} Z`;
743
+
744
+ linePath.setAttribute('d', lineD);
745
+ areaPath.setAttribute('d', areaD);
746
+
747
+ points.forEach((point, index