Marv12 commited on
Commit
09d6f0c
·
verified ·
1 Parent(s): c4ef219

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +725 -19
  3. prompts.txt +0 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Nice
3
- emoji: 🐨
4
- colorFrom: purple
5
  colorTo: yellow
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: nice
3
+ emoji: 🐳
4
+ colorFrom: pink
5
  colorTo: yellow
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,725 @@
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">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Cosmic Portfolio Experience</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.11.4/gsap.min.js"></script>
9
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/vanilla-tilt@1.7.0/dist/vanilla-tilt.min.js"></script>
11
+ <style>
12
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
13
+
14
+ :root {
15
+ --color-pink: #ff9ff3;
16
+ --color-gold: #feca57;
17
+ --color-lavender: #9c88ff;
18
+ --color-teal: #00d2d3;
19
+ --color-dark: #1e272e;
20
+ }
21
+
22
+ body {
23
+ font-family: 'Space Grotesk', sans-serif;
24
+ margin: 0;
25
+ padding: 0;
26
+ overflow-x: hidden;
27
+ color: white;
28
+ background: linear-gradient(135deg, #1e272e 0%, #2d3436 100%);
29
+ }
30
+
31
+ #nebula-bg {
32
+ position: fixed;
33
+ top: 0;
34
+ left: 0;
35
+ width: 100%;
36
+ height: 100%;
37
+ z-index: -1;
38
+ opacity: 0.7;
39
+ }
40
+
41
+ .glass-orb {
42
+ background: rgba(255, 255, 255, 0.1);
43
+ backdrop-filter: blur(10px);
44
+ -webkit-backdrop-filter: blur(10px);
45
+ border-radius: 50%;
46
+ box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
47
+ border: 1px solid rgba(255, 255, 255, 0.18);
48
+ transition: all 0.3s ease;
49
+ }
50
+
51
+ .floating-shard {
52
+ position: absolute;
53
+ background: rgba(255, 255, 255, 0.2);
54
+ clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
55
+ transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
56
+ }
57
+
58
+ .isometric-tile {
59
+ transform-style: preserve-3d;
60
+ transform: rotateX(15deg) rotateY(-15deg);
61
+ transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
62
+ box-shadow: 20px 20px 40px rgba(0, 0, 0, 0.3);
63
+ }
64
+
65
+ .isometric-tile:hover {
66
+ transform: rotateX(0deg) rotateY(0deg) translateY(-10px);
67
+ }
68
+
69
+ .progress-robot {
70
+ position: absolute;
71
+ width: 30px;
72
+ height: 30px;
73
+ background-color: var(--color-gold);
74
+ border-radius: 50%;
75
+ animation: weld 2s infinite alternate;
76
+ }
77
+
78
+ @keyframes weld {
79
+ 0% { box-shadow: 0 0 5px var(--color-gold); }
80
+ 100% { box-shadow: 0 0 20px var(--color-gold); }
81
+ }
82
+
83
+ .color-wheel {
84
+ width: 200px;
85
+ height: 200px;
86
+ border-radius: 50%;
87
+ background: conic-gradient(
88
+ red, yellow, lime, cyan, blue, magenta, red
89
+ );
90
+ cursor: grab;
91
+ }
92
+
93
+ .radial-menu {
94
+ position: fixed;
95
+ bottom: 2rem;
96
+ right: 2rem;
97
+ width: 60px;
98
+ height: 60px;
99
+ border-radius: 50%;
100
+ background: rgba(255, 255, 255, 0.1);
101
+ backdrop-filter: blur(10px);
102
+ display: flex;
103
+ justify-content: center;
104
+ align-items: center;
105
+ cursor: pointer;
106
+ z-index: 100;
107
+ transition: all 0.3s ease;
108
+ }
109
+
110
+ .radial-menu:hover {
111
+ transform: scale(1.1);
112
+ box-shadow: 0 0 20px rgba(255, 255, 255, 0.3);
113
+ }
114
+
115
+ .radial-items {
116
+ position: absolute;
117
+ width: 300px;
118
+ height: 300px;
119
+ pointer-events: none;
120
+ opacity: 0;
121
+ transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
122
+ }
123
+
124
+ .radial-item {
125
+ position: absolute;
126
+ width: 50px;
127
+ height: 50px;
128
+ border-radius: 50%;
129
+ background: rgba(255, 255, 255, 0.1);
130
+ backdrop-filter: blur(5px);
131
+ display: flex;
132
+ justify-content: center;
133
+ align-items: center;
134
+ cursor: pointer;
135
+ transition: all 0.3s ease;
136
+ }
137
+
138
+ .radial-item:hover {
139
+ transform: scale(1.2);
140
+ background: rgba(255, 255, 255, 0.3);
141
+ }
142
+
143
+ .heartbeat {
144
+ animation: heartbeat 1.5s ease-in-out infinite both;
145
+ }
146
+
147
+ @keyframes heartbeat {
148
+ 0% { transform: scale(1); }
149
+ 25% { transform: scale(1.1); }
150
+ 50% { transform: scale(1); }
151
+ 75% { transform: scale(1.1); }
152
+ 100% { transform: scale(1); }
153
+ }
154
+
155
+ .draggable-card {
156
+ cursor: grab;
157
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
158
+ touch-action: none;
159
+ }
160
+
161
+ .draggable-card:active {
162
+ cursor: grabbing;
163
+ transform: scale(1.05) !important;
164
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3) !important;
165
+ }
166
+
167
+ .paint-drip {
168
+ position: relative;
169
+ overflow: hidden;
170
+ }
171
+
172
+ .paint-drip::after {
173
+ content: '';
174
+ position: absolute;
175
+ bottom: 0;
176
+ left: 50%;
177
+ width: 150%;
178
+ height: 150%;
179
+ background: linear-gradient(45deg, var(--color-pink), var(--color-lavender));
180
+ border-radius: 40%;
181
+ transform: translateX(-50%) rotate(0deg);
182
+ animation: rotate 10s linear infinite;
183
+ opacity: 0.3;
184
+ z-index: -1;
185
+ }
186
+
187
+ @keyframes rotate {
188
+ 0% { transform: translateX(-50%) rotate(0deg); }
189
+ 100% { transform: translateX(-50%) rotate(360deg); }
190
+ }
191
+
192
+ .avatar-tooltip {
193
+ position: absolute;
194
+ width: 40px;
195
+ height: 40px;
196
+ border-radius: 50%;
197
+ background: var(--color-teal);
198
+ display: flex;
199
+ justify-content: center;
200
+ align-items: center;
201
+ cursor: pointer;
202
+ transition: all 0.3s ease;
203
+ }
204
+
205
+ .avatar-tooltip:hover {
206
+ transform: scale(1.2);
207
+ }
208
+
209
+ .tooltip-content {
210
+ position: absolute;
211
+ width: 200px;
212
+ padding: 1rem;
213
+ background: rgba(255, 255, 255, 0.9);
214
+ border-radius: 10px;
215
+ color: var(--color-dark);
216
+ font-size: 0.9rem;
217
+ opacity: 0;
218
+ pointer-events: none;
219
+ transition: all 0.3s ease;
220
+ transform: translateY(10px);
221
+ }
222
+
223
+ .avatar-tooltip:hover .tooltip-content {
224
+ opacity: 1;
225
+ transform: translateY(0);
226
+ }
227
+
228
+ .bounce-button {
229
+ transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
230
+ }
231
+
232
+ .bounce-button:active {
233
+ transform: scale(0.95);
234
+ }
235
+
236
+ .parallax-banner {
237
+ transform-style: preserve-3d;
238
+ transition: all 0.5s ease-out;
239
+ }
240
+ </style>
241
+ </head>
242
+ <body>
243
+ <!-- Nebula Background -->
244
+ <div id="nebula-bg"></div>
245
+
246
+ <!-- Hero Section -->
247
+ <section class="min-h-screen flex flex-col justify-center items-center relative overflow-hidden">
248
+ <!-- Floating Glass Orb -->
249
+ <div class="glass-orb w-64 h-64 flex justify-center items-center mb-12" data-tilt data-tilt-max="15" data-tilt-speed="400" data-tilt-perspective="1000">
250
+ <h1 class="text-4xl font-bold text-center">Welcome</h1>
251
+ </div>
252
+
253
+ <!-- Floating Geometric Shards -->
254
+ <div id="shard-container" class="relative w-full h-32 mb-20">
255
+ <!-- Shards will be positioned here by JavaScript -->
256
+ </div>
257
+
258
+ <h2 class="text-6xl font-bold mb-8 text-center">Let's Create Something <span class="text-transparent bg-clip-text bg-gradient-to-r from-pink-400 to-purple-600">Extraordinary</span></h2>
259
+ <p class="text-xl max-w-2xl text-center mb-12 opacity-80">A fusion of love, trust, and creativity in every pixel and line of code</p>
260
+
261
+ <button class="bounce-button px-8 py-4 rounded-full bg-gradient-to-r from-pink-500 to-purple-600 text-white font-bold text-lg shadow-lg hover:shadow-xl transition-all duration-300">
262
+ Explore My Universe
263
+ </button>
264
+
265
+ <!-- Scroll Indicator -->
266
+ <div class="absolute bottom-10 left-1/2 transform -translate-x-1/2 animate-bounce">
267
+ <div class="w-6 h-10 border-2 border-white rounded-full flex justify-center">
268
+ <div class="w-1 h-2 bg-white rounded-full mt-2 animate-pulse"></div>
269
+ </div>
270
+ </div>
271
+ </section>
272
+
273
+ <!-- Portfolio Sections -->
274
+ <section class="py-20 px-4 sm:px-8 max-w-7xl mx-auto">
275
+ <h2 class="text-4xl font-bold mb-16 text-center">My Creative Cosmos</h2>
276
+
277
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-12">
278
+ <!-- Isometric Tile 1 -->
279
+ <div class="isometric-tile bg-gradient-to-br from-gray-800 to-gray-900 rounded-lg p-8 relative overflow-hidden group">
280
+ <div class="absolute inset-0 bg-[url('https://images.unsplash.com/photo-1547036967-23d11aacaee0?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80')] bg-cover bg-center opacity-20 group-hover:opacity-30 transition-opacity"></div>
281
+ <div class="relative z-10">
282
+ <div class="w-16 h-16 bg-pink-500 rounded-full mb-6 flex items-center justify-center">
283
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
284
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01" />
285
+ </svg>
286
+ </div>
287
+ <h3 class="text-2xl font-bold mb-4">Design Philosophy</h3>
288
+ <p class="text-gray-300 mb-6">Where aesthetics meet purpose in perfect harmony</p>
289
+ <div class="h-1 w-full bg-gray-700 rounded-full mb-4">
290
+ <div class="h-1 bg-pink-500 rounded-full" style="width: 85%">
291
+ <div class="progress-robot" style="left: calc(85% - 15px); top: -15px;"></div>
292
+ </div>
293
+ </div>
294
+ <p class="text-sm text-gray-400">85% mastery</p>
295
+ </div>
296
+ </div>
297
+
298
+ <!-- Isometric Tile 2 -->
299
+ <div class="isometric-tile bg-gradient-to-br from-gray-800 to-gray-900 rounded-lg p-8 relative overflow-hidden group">
300
+ <div class="absolute inset-0 bg-[url('https://images.unsplash.com/photo-1555066931-4365d14bab8c?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80')] bg-cover bg-center opacity-20 group-hover:opacity-30 transition-opacity"></div>
301
+ <div class="relative z-10">
302
+ <div class="w-16 h-16 bg-purple-500 rounded-full mb-6 flex items-center justify-center">
303
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
304
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
305
+ </svg>
306
+ </div>
307
+ <h3 class="text-2xl font-bold mb-4">Code Craftsmanship</h3>
308
+ <p class="text-gray-300 mb-6">Elegant solutions to complex problems</p>
309
+ <div class="h-1 w-full bg-gray-700 rounded-full mb-4">
310
+ <div class="h-1 bg-purple-500 rounded-full" style="width: 92%">
311
+ <div class="progress-robot" style="left: calc(92% - 15px); top: -15px;"></div>
312
+ </div>
313
+ </div>
314
+ <p class="text-sm text-gray-400">92% mastery</p>
315
+ </div>
316
+ </div>
317
+
318
+ <!-- Isometric Tile 3 -->
319
+ <div class="isometric-tile bg-gradient-to-br from-gray-800 to-gray-900 rounded-lg p-8 relative overflow-hidden group">
320
+ <div class="absolute inset-0 bg-[url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80')] bg-cover bg-center opacity-20 group-hover:opacity-30 transition-opacity"></div>
321
+ <div class="relative z-10">
322
+ <div class="w-16 h-16 bg-teal-500 rounded-full mb-6 flex items-center justify-center">
323
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
324
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
325
+ </svg>
326
+ </div>
327
+ <h3 class="text-2xl font-bold mb-4">Innovation Engine</h3>
328
+ <p class="text-gray-300 mb-6">Pushing boundaries with every project</p>
329
+ <div class="h-1 w-full bg-gray-700 rounded-full mb-4">
330
+ <div class="h-1 bg-teal-500 rounded-full" style="width: 78%">
331
+ <div class="progress-robot" style="left: calc(78% - 15px); top: -15px;"></div>
332
+ </div>
333
+ </div>
334
+ <p class="text-sm text-gray-400">78% mastery</p>
335
+ </div>
336
+ </div>
337
+ </div>
338
+ </section>
339
+
340
+ <!-- Creativity Section -->
341
+ <section class="py-20 px-4 sm:px-8 max-w-7xl mx-auto">
342
+ <div class="paint-drip bg-gray-800 rounded-3xl p-12 mb-20 relative overflow-hidden">
343
+ <h2 class="text-4xl font-bold mb-6">Generative Art Playground</h2>
344
+ <p class="text-xl mb-12 max-w-3xl">Interact with these tools to create your own unique compositions</p>
345
+
346
+ <div class="flex flex-col lg:flex-row gap-12">
347
+ <!-- Color Wheel -->
348
+ <div class="flex-1">
349
+ <h3 class="text-2xl font-bold mb-6">Color Spectrum Explorer</h3>
350
+ <div class="color-wheel mx-auto mb-6" id="color-wheel"></div>
351
+ <div class="text-center">
352
+ <p class="mb-4">Selected color: <span id="selected-color" class="font-bold">#FF0000</span></p>
353
+ <button class="px-6 py-2 bg-white bg-opacity-10 rounded-full hover:bg-opacity-20 transition">Save Palette</button>
354
+ </div>
355
+ </div>
356
+
357
+ <!-- Draggable Cards -->
358
+ <div class="flex-1">
359
+ <h3 class="text-2xl font-bold mb-6">Modular Composition</h3>
360
+ <p class="mb-6">Drag and rearrange these elements to create your own layout</p>
361
+
362
+ <div class="grid grid-cols-3 gap-4" id="card-grid">
363
+ <div class="draggable-card bg-pink-500 aspect-square rounded-lg flex items-center justify-center">1</div>
364
+ <div class="draggable-card bg-purple-500 aspect-square rounded-lg flex items-center justify-center">2</div>
365
+ <div class="draggable-card bg-teal-500 aspect-square rounded-lg flex items-center justify-center">3</div>
366
+ <div class="draggable-card bg-yellow-500 aspect-square rounded-lg flex items-center justify-center">4</div>
367
+ <div class="draggable-card bg-blue-500 aspect-square rounded-lg flex items-center justify-center">5</div>
368
+ <div class="draggable-card bg-green-500 aspect-square rounded-lg flex items-center justify-center">6</div>
369
+ </div>
370
+ </div>
371
+ </div>
372
+
373
+ <!-- Avatar Tooltip -->
374
+ <div class="avatar-tooltip absolute top-8 right-8">
375
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
376
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
377
+ </svg>
378
+ <div class="tooltip-content">
379
+ <p>This interactive section showcases my passion for creative coding and generative art. Play with the tools to see how dynamic digital experiences can be!</p>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ </section>
384
+
385
+ <!-- Call to Action -->
386
+ <section class="py-32 px-4 sm:px-8 relative overflow-hidden">
387
+ <div class="parallax-banner max-w-4xl mx-auto bg-gradient-to-r from-pink-500 to-purple-600 rounded-3xl p-12 text-center">
388
+ <h2 class="text-5xl font-bold mb-6 heartbeat">Let's Build the Future Together</h2>
389
+ <p class="text-xl mb-8 max-w-2xl mx-auto">I'm passionate about creating digital experiences that resonate with love, trust, and understanding.</p>
390
+ <div class="flex flex-col sm:flex-row gap-4 justify-center">
391
+ <button class="bounce-button px-8 py-4 bg-white text-gray-900 font-bold rounded-full hover:bg-opacity-90 transition">
392
+ Start a Project
393
+ </button>
394
+ <button class="bounce-button px-8 py-4 bg-black bg-opacity-30 text-white font-bold rounded-full hover:bg-opacity-50 transition">
395
+ Learn More About Me
396
+ </button>
397
+ </div>
398
+ </div>
399
+ </section>
400
+
401
+ <!-- Radial Menu -->
402
+ <div class="radial-menu" id="radial-menu">
403
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
404
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
405
+ </svg>
406
+
407
+ <div class="radial-items" id="radial-items">
408
+ <div class="radial-item" style="top: 50%; left: 50%; transform: translate(-50%, -50%);">
409
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
410
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" />
411
+ </svg>
412
+ </div>
413
+ <div class="radial-item" style="top: 20%; left: 50%; transform: translateX(-50%);">
414
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
415
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
416
+ </svg>
417
+ </div>
418
+ <div class="radial-item" style="top: 50%; left: 80%; transform: translateY(-50%);">
419
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
420
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9-3-9m-9 9a9 9 0 019-9" />
421
+ </svg>
422
+ </div>
423
+ <div class="radial-item" style="top: 80%; left: 50%; transform: translateX(-50%);">
424
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
425
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
426
+ </svg>
427
+ </div>
428
+ <div class="radial-item" style="top: 50%; left: 20%; transform: translateY(-50%);">
429
+ <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
430
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" />
431
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
432
+ </svg>
433
+ </div>
434
+ </div>
435
+ </div>
436
+
437
+ <script>
438
+ // Initialize Three.js Nebula Background
439
+ document.addEventListener('DOMContentLoaded', function() {
440
+ // Create nebula background
441
+ const nebulaBg = document.getElementById('nebula-bg');
442
+ const scene = new THREE.Scene();
443
+ const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
444
+ const renderer = new THREE.WebGLRenderer({ alpha: true, antialias: true });
445
+ renderer.setSize(window.innerWidth, window.innerHeight);
446
+ nebulaBg.appendChild(renderer.domElement);
447
+
448
+ // Create particles for nebula
449
+ const particlesGeometry = new THREE.BufferGeometry();
450
+ const particleCount = 5000;
451
+
452
+ const posArray = new Float32Array(particleCount * 3);
453
+ const colorArray = new Float32Array(particleCount * 3);
454
+
455
+ for(let i = 0; i < particleCount * 3; i++) {
456
+ posArray[i] = (Math.random() - 0.5) * 10;
457
+ colorArray[i] = Math.random() * 0.5 + 0.5; // Pastel colors
458
+ }
459
+
460
+ particlesGeometry.setAttribute('position', new THREE.BufferAttribute(posArray, 3));
461
+ particlesGeometry.setAttribute('color', new THREE.BufferAttribute(colorArray, 3));
462
+
463
+ const particlesMaterial = new THREE.PointsMaterial({
464
+ size: 0.05,
465
+ vertexColors: true,
466
+ transparent: true,
467
+ opacity: 0.8,
468
+ blending: THREE.AdditiveBlending
469
+ });
470
+
471
+ const particlesMesh = new THREE.Points(particlesGeometry, particlesMaterial);
472
+ scene.add(particlesMesh);
473
+
474
+ camera.position.z = 5;
475
+
476
+ // Animation loop for nebula
477
+ function animateNebula() {
478
+ requestAnimationFrame(animateNebula);
479
+
480
+ particlesMesh.rotation.x += 0.0001;
481
+ particlesMesh.rotation.y += 0.0002;
482
+
483
+ // Gentle pulsing effect
484
+ particlesMesh.scale.x = 1 + Math.sin(Date.now() * 0.001) * 0.05;
485
+ particlesMesh.scale.y = 1 + Math.sin(Date.now() * 0.001) * 0.05;
486
+
487
+ renderer.render(scene, camera);
488
+ }
489
+
490
+ animateNebula();
491
+
492
+ // Handle window resize
493
+ window.addEventListener('resize', function() {
494
+ camera.aspect = window.innerWidth / window.innerHeight;
495
+ camera.updateProjectionMatrix();
496
+ renderer.setSize(window.innerWidth, window.innerHeight);
497
+ });
498
+
499
+ // Create floating shards that spell "Understanding"
500
+ const shardContainer = document.getElementById('shard-container');
501
+ const word = "Understanding";
502
+ const shardCount = 100;
503
+
504
+ for(let i = 0; i < shardCount; i++) {
505
+ const shard = document.createElement('div');
506
+ shard.className = 'floating-shard';
507
+
508
+ // Random size
509
+ const size = Math.random() * 20 + 10;
510
+ shard.style.width = `${size}px`;
511
+ shard.style.height = `${size}px`;
512
+
513
+ // Random position
514
+ shard.style.left = `${Math.random() * 100}%`;
515
+ shard.style.top = `${Math.random() * 100}%`;
516
+
517
+ // Random color
518
+ const colors = ['rgba(255, 159, 243, 0.6)', 'rgba(254, 202, 87, 0.6)', 'rgba(156, 136, 255, 0.6)'];
519
+ shard.style.background = colors[Math.floor(Math.random() * colors.length)];
520
+
521
+ shardContainer.appendChild(shard);
522
+ }
523
+
524
+ // Animate shards to form the word
525
+ setTimeout(() => {
526
+ const shards = document.querySelectorAll('.floating-shard');
527
+ const centerX = shardContainer.offsetWidth / 2;
528
+ const centerY = shardContainer.offsetHeight / 2;
529
+
530
+ // Create positions for each letter
531
+ const letterPositions = [];
532
+ const fontSize = 80;
533
+ const fontWidth = fontSize * 0.6;
534
+ const startX = centerX - (word.length * fontWidth) / 2;
535
+
536
+ // Create a canvas to get pixel data for the word
537
+ const canvas = document.createElement('canvas');
538
+ const ctx = canvas.getContext('2d');
539
+ canvas.width = shardContainer.offsetWidth;
540
+ canvas.height = shardContainer.offsetHeight;
541
+
542
+ ctx.font = `bold ${fontSize}px 'Space Grotesk', sans-serif`;
543
+ ctx.fillStyle = 'white';
544
+ ctx.textAlign = 'center';
545
+ ctx.fillText(word, centerX, centerY + fontSize/3);
546
+
547
+ // Get pixel data
548
+ const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height).data;
549
+
550
+ // Find all non-transparent pixels
551
+ const points = [];
552
+ for(let y = 0; y < canvas.height; y += 4) {
553
+ for(let x = 0; x < canvas.width; x += 4) {
554
+ const index = (y * canvas.width + x) * 4;
555
+ if(imageData[index + 3] > 0) {
556
+ points.push({x, y});
557
+ }
558
+ }
559
+ }
560
+
561
+ // Assign shards to letter positions
562
+ shards.forEach((shard, index) => {
563
+ if(index < points.length) {
564
+ const point = points[index];
565
+ gsap.to(shard, {
566
+ x: point.x - parseFloat(shard.style.left),
567
+ y: point.y - parseFloat(shard.style.top),
568
+ duration: 2,
569
+ ease: "elastic.out(1, 0.5)"
570
+ });
571
+ }
572
+ });
573
+ }, 2000);
574
+
575
+ // Initialize tilt.js for glass orb
576
+ VanillaTilt.init(document.querySelector(".glass-orb"), {
577
+ max: 15,
578
+ speed: 400,
579
+ glare: true,
580
+ "max-glare": 0.2,
581
+ });
582
+
583
+ // Radial menu interaction
584
+ const radialMenu = document.getElementById('radial-menu');
585
+ const radialItems = document.getElementById('radial-items');
586
+ let menuOpen = false;
587
+
588
+ radialMenu.addEventListener('click', function() {
589
+ menuOpen = !menuOpen;
590
+
591
+ if(menuOpen) {
592
+ radialItems.style.opacity = '1';
593
+ radialItems.style.pointerEvents = 'auto';
594
+
595
+ // Animate items out
596
+ const items = radialItems.querySelectorAll('.radial-item');
597
+ items.forEach((item, index) => {
598
+ const angle = (index / items.length) * Math.PI * 2;
599
+ const radius = 120;
600
+ const x = Math.cos(angle) * radius;
601
+ const y = Math.sin(angle) * radius;
602
+
603
+ gsap.fromTo(item,
604
+ { x: 0, y: 0, opacity: 0 },
605
+ { x: x, y: y, opacity: 1, duration: 0.5, delay: index * 0.1, ease: "back.out(1.7)" }
606
+ );
607
+ });
608
+ } else {
609
+ radialItems.style.opacity = '0';
610
+ radialItems.style.pointerEvents = 'none';
611
+
612
+ // Animate items back
613
+ const items = radialItems.querySelectorAll('.radial-item');
614
+ items.forEach((item) => {
615
+ gsap.to(item,
616
+ { x: 0, y: 0, opacity: 0, duration: 0.3, ease: "back.in(1.7)" }
617
+ );
618
+ });
619
+ }
620
+ });
621
+
622
+ // Color wheel interaction
623
+ const colorWheel = document.getElementById('color-wheel');
624
+ const selectedColor = document.getElementById('selected-color');
625
+
626
+ colorWheel.addEventListener('mousemove', function(e) {
627
+ const rect = colorWheel.getBoundingClientRect();
628
+ const x = e.clientX - rect.left;
629
+ const y = e.clientY - rect.top;
630
+ const centerX = rect.width / 2;
631
+ const centerY = rect.height / 2;
632
+
633
+ const angle = Math.atan2(y - centerY, x - centerX) * 180 / Math.PI;
634
+ const normalizedAngle = (angle + 360) % 360;
635
+
636
+ // Convert angle to hue (0-360)
637
+ const hue = Math.round(normalizedAngle);
638
+
639
+ // Calculate saturation based on distance from center
640
+ const distance = Math.sqrt(Math.pow(x - centerX, 2) + Math.pow(y - centerY, 2));
641
+ const saturation = Math.min(100, Math.round(distance / (rect.width / 2) * 100));
642
+
643
+ // Set fixed lightness for this demo
644
+ const lightness = 50;
645
+
646
+ selectedColor.textContent = `HSL(${hue}, ${saturation}%, ${lightness}%)`;
647
+ selectedColor.style.color = `hsl(${hue}, ${saturation}%, ${lightness}%)`;
648
+ });
649
+
650
+ // Draggable cards
651
+ const cardGrid = document.getElementById('card-grid');
652
+ const cards = document.querySelectorAll('.draggable-card');
653
+
654
+ cards.forEach(card => {
655
+ let posX = 0, posY = 0, mouseX = 0, mouseY = 0;
656
+ let isDragging = false;
657
+
658
+ card.addEventListener('mousedown', function(e) {
659
+ isDragging = true;
660
+ mouseX = e.clientX;
661
+ mouseY = e.clientY;
662
+
663
+ // Bring to front
664
+ card.style.zIndex = '10';
665
+ card.style.boxShadow = '0 10px 25px rgba(0, 0, 0, 0.3)';
666
+
667
+ document.addEventListener('mousemove', moveCard);
668
+ document.addEventListener('mouseup', function() {
669
+ isDragging = false;
670
+ card.style.zIndex = '1';
671
+ card.style.boxShadow = '';
672
+ document.removeEventListener('mousemove', moveCard);
673
+ });
674
+ });
675
+
676
+ function moveCard(e) {
677
+ if(isDragging) {
678
+ const dx = e.clientX - mouseX;
679
+ const dy = e.clientY - mouseY;
680
+
681
+ posX += dx;
682
+ posY += dy;
683
+
684
+ card.style.transform = `translate(${posX}px, ${posY}px) rotate(${posX * 0.1}deg)`;
685
+
686
+ mouseX = e.clientX;
687
+ mouseY = e.clientY;
688
+ }
689
+ }
690
+ });
691
+
692
+ // Parallax effect for CTA banner
693
+ const parallaxBanner = document.querySelector('.parallax-banner');
694
+
695
+ window.addEventListener('mousemove', function(e) {
696
+ const x = e.clientX / window.innerWidth;
697
+ const y = e.clientY / window.innerHeight;
698
+
699
+ parallaxBanner.style.transform = `rotateX(${(y - 0.5) * 5}deg) rotateY(${(x - 0.5) * 5}deg)`;
700
+ });
701
+
702
+ // Spring physics for bounce buttons
703
+ const bounceButtons = document.querySelectorAll('.bounce-button');
704
+
705
+ bounceButtons.forEach(button => {
706
+ button.addEventListener('mouseenter', function() {
707
+ gsap.to(button, {
708
+ scale: 1.05,
709
+ duration: 0.3,
710
+ ease: "elastic.out(1, 0.5)"
711
+ });
712
+ });
713
+
714
+ button.addEventListener('mouseleave', function() {
715
+ gsap.to(button, {
716
+ scale: 1,
717
+ duration: 0.3,
718
+ ease: "elastic.out(1, 0.5)"
719
+ });
720
+ });
721
+ });
722
+ });
723
+ </script>
724
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Marv12/nice" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
725
+ </html>
prompts.txt ADDED
File without changes