UltraMarkoBR commited on
Commit
b327235
·
verified ·
1 Parent(s): d32cc8f

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +497 -19
index.html CHANGED
@@ -1,19 +1,497 @@
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="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Reflexões Cósmicas | Luz e Tempo</title>
7
+
8
+ <!-- Google Fonts -->
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Space+Grotesk:wght@300;500;700&display=swap" rel="stylesheet">
12
+
13
+ <!-- Icons -->
14
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
15
+
16
+ <style>
17
+ :root {
18
+ --bg-color: #030508;
19
+ --card-bg: rgba(255, 255, 255, 0.03);
20
+ --card-border: rgba(255, 255, 255, 0.1);
21
+ --primary-glow: #00f3ff;
22
+ --secondary-glow: #bc13fe;
23
+ --text-main: #e0e0e0;
24
+ --text-muted: #94a3b8;
25
+ --accent: #ffffff;
26
+ }
27
+
28
+ * {
29
+ margin: 0;
30
+ padding: 0;
31
+ box-sizing: border-box;
32
+ }
33
+
34
+ body {
35
+ font-family: 'Inter', sans-serif;
36
+ background-color: var(--bg-color);
37
+ color: var(--text-main);
38
+ overflow-x: hidden;
39
+ line-height: 1.6;
40
+ }
41
+
42
+ /* --- Background Animation Canvas --- */
43
+ #cosmos-canvas {
44
+ position: fixed;
45
+ top: 0;
46
+ left: 0;
47
+ width: 100%;
48
+ height: 100%;
49
+ z-index: -1;
50
+ background: radial-gradient(circle at center, #0b1021 0%, #000000 100%);
51
+ }
52
+
53
+ /* --- Header --- */
54
+ header {
55
+ position: fixed;
56
+ top: 0;
57
+ width: 100%;
58
+ padding: 1.5rem 2rem;
59
+ display: flex;
60
+ justify-content: space-between;
61
+ align-items: center;
62
+ z-index: 100;
63
+ backdrop-filter: blur(10px);
64
+ border-bottom: 1px solid rgba(255,255,255,0.05);
65
+ }
66
+
67
+ .brand {
68
+ font-family: 'Space Grotesk', sans-serif;
69
+ font-size: 1.2rem;
70
+ font-weight: 700;
71
+ letter-spacing: 1px;
72
+ background: linear-gradient(90deg, var(--primary-glow), var(--secondary-glow));
73
+ -webkit-background-clip: text;
74
+ -webkit-text-fill-color: transparent;
75
+ }
76
+
77
+ .anycoder-link {
78
+ font-size: 0.85rem;
79
+ color: var(--text-muted);
80
+ text-decoration: none;
81
+ border: 1px solid var(--card-border);
82
+ padding: 0.5rem 1rem;
83
+ border-radius: 50px;
84
+ transition: all 0.3s ease;
85
+ display: flex;
86
+ align-items: center;
87
+ gap: 8px;
88
+ }
89
+
90
+ .anycoder-link:hover {
91
+ border-color: var(--primary-glow);
92
+ color: var(--primary-glow);
93
+ box-shadow: 0 0 15px rgba(0, 243, 255, 0.2);
94
+ }
95
+
96
+ /* --- Hero Section --- */
97
+ .hero {
98
+ height: 100vh;
99
+ display: flex;
100
+ flex-direction: column;
101
+ justify-content: center;
102
+ align-items: center;
103
+ text-align: center;
104
+ padding: 2rem;
105
+ position: relative;
106
+ }
107
+
108
+ .hero h1 {
109
+ font-family: 'Space Grotesk', sans-serif;
110
+ font-size: clamp(2.5rem, 5vw, 5rem);
111
+ font-weight: 700;
112
+ margin-bottom: 1rem;
113
+ line-height: 1.1;
114
+ opacity: 0;
115
+ transform: translateY(30px);
116
+ animation: fadeUp 1s ease forwards 0.5s;
117
+ }
118
+
119
+ .hero p {
120
+ font-size: clamp(1rem, 2vw, 1.25rem);
121
+ color: var(--text-muted);
122
+ max-width: 600px;
123
+ margin-bottom: 2rem;
124
+ opacity: 0;
125
+ transform: translateY(30px);
126
+ animation: fadeUp 1s ease forwards 0.8s;
127
+ }
128
+
129
+ .scroll-indicator {
130
+ position: absolute;
131
+ bottom: 40px;
132
+ animation: bounce 2s infinite;
133
+ opacity: 0.5;
134
+ }
135
+
136
+ /* --- Content Grid --- */
137
+ .container {
138
+ max-width: 1200px;
139
+ margin: 0 auto;
140
+ padding: 4rem 2rem;
141
+ }
142
+
143
+ .grid {
144
+ display: grid;
145
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
146
+ gap: 2rem;
147
+ }
148
+
149
+ /* --- Cards --- */
150
+ .card {
151
+ background: var(--card-bg);
152
+ border: 1px solid var(--card-border);
153
+ border-radius: 16px;
154
+ padding: 2rem;
155
+ position: relative;
156
+ overflow: hidden;
157
+ transition: transform 0.4s ease, box-shadow 0.4s ease;
158
+ backdrop-filter: blur(5px);
159
+ cursor: pointer;
160
+ opacity: 0; /* For scroll animation */
161
+ transform: translateY(50px);
162
+ }
163
+
164
+ .card.visible {
165
+ opacity: 1;
166
+ transform: translateY(0);
167
+ }
168
+
169
+ .card:hover {
170
+ transform: translateY(-10px);
171
+ box-shadow: 0 20px 40px rgba(0,0,0,0.4);
172
+ border-color: rgba(255,255,255,0.2);
173
+ }
174
+
175
+ .card::before {
176
+ content: '';
177
+ position: absolute;
178
+ top: 0;
179
+ left: 0;
180
+ width: 100%;
181
+ height: 4px;
182
+ background: linear-gradient(90deg, var(--primary-glow), var(--secondary-glow));
183
+ transform: scaleX(0);
184
+ transform-origin: left;
185
+ transition: transform 0.4s ease;
186
+ }
187
+
188
+ .card:hover::before {
189
+ transform: scaleX(1);
190
+ }
191
+
192
+ .icon-box {
193
+ width: 60px;
194
+ height: 60px;
195
+ border-radius: 12px;
196
+ background: rgba(255,255,255,0.05);
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: center;
200
+ margin-bottom: 1.5rem;
201
+ font-size: 1.5rem;
202
+ color: var(--primary-glow);
203
+ transition: all 0.3s ease;
204
+ }
205
+
206
+ .card:hover .icon-box {
207
+ background: var(--primary-glow);
208
+ color: #000;
209
+ box-shadow: 0 0 20px var(--primary-glow);
210
+ }
211
+
212
+ .card h3 {
213
+ font-family: 'Space Grotesk', sans-serif;
214
+ font-size: 1.5rem;
215
+ margin-bottom: 1rem;
216
+ color: var(--accent);
217
+ }
218
+
219
+ .card p {
220
+ color: var(--text-muted);
221
+ font-size: 0.95rem;
222
+ margin-bottom: 1.5rem;
223
+ }
224
+
225
+ .expand-content {
226
+ max-height: 0;
227
+ overflow: hidden;
228
+ transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
229
+ }
230
+
231
+ .card.active .expand-content {
232
+ max-height: 500px;
233
+ transition: max-height 0.5s ease-in-out;
234
+ }
235
+
236
+ .read-more {
237
+ font-size: 0.85rem;
238
+ color: var(--primary-glow);
239
+ text-transform: uppercase;
240
+ letter-spacing: 1px;
241
+ font-weight: 600;
242
+ display: flex;
243
+ align-items: center;
244
+ gap: 5px;
245
+ }
246
+
247
+ /* --- Footer --- */
248
+ footer {
249
+ text-align: center;
250
+ padding: 4rem 2rem;
251
+ border-top: 1px solid var(--card-border);
252
+ margin-top: 4rem;
253
+ color: var(--text-muted);
254
+ font-size: 0.9rem;
255
+ }
256
+
257
+ /* --- Animations --- */
258
+ @keyframes fadeUp {
259
+ to {
260
+ opacity: 1;
261
+ transform: translateY(0);
262
+ }
263
+ }
264
+
265
+ @keyframes bounce {
266
+ 0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
267
+ 40% {transform: translateY(-10px);}
268
+ 60% {transform: translateY(-5px);}
269
+ }
270
+
271
+ /* --- Responsive Tweaks --- */
272
+ @media (max-width: 768px) {
273
+ header {
274
+ padding: 1rem;
275
+ }
276
+ .hero h1 {
277
+ font-size: 2.5rem;
278
+ }
279
+ }
280
+ </style>
281
+ </head>
282
+ <body>
283
+
284
+ <!-- Background Canvas -->
285
+ <canvas id="cosmos-canvas"></canvas>
286
+
287
+ <!-- Navigation -->
288
+ <header>
289
+ <div class="brand">COSMOS.IO</div>
290
+ <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank" class="anycoder-link">
291
+ <i class="fa-solid fa-code"></i>
292
+ Built with anycoder
293
+ </a>
294
+ </header>
295
+
296
+ <!-- Hero Section -->
297
+ <section class="hero">
298
+ <h1>Além da Velocidade<br>da Luz</h1>
299
+ <p>As perguntas que ecoam na mente humana: Como a luz viaja? O tempo é uma linha ou um círculo? O que acontece se quebrarmos a barreira cósmica?</p>
300
+
301
+ <div class="scroll-indicator">
302
+ <i class="fa-solid fa-chevron-down" style="color: white;"></i>
303
+ </div>
304
+ </section>
305
+
306
+ <!-- Main Content -->
307
+ <main class="container">
308
+ <div class="grid">
309
+
310
+ <!-- Card 1: Light Propagation -->
311
+ <article class="card" onclick="toggleCard(this)">
312
+ <div class="icon-box">
313
+ <i class="fa-solid fa-bolt"></i>
314
+ </div>
315
+ <h3>A Propagação da Luz</h3>
316
+ <p>A luz não é apenas o que vemos, é o tecido da realidade. Ela se comporta como onda e partícula simultaneamente.</p>
317
+ <div class="expand-content">
318
+ <p style="margin-top: 1rem; font-size: 0.9rem;">
319
+ A luz viaja no vácuo a aproximadamente <strong>299.792.458 metros por segundo</strong>. Diferente do som, que precisa de um meio (como ar ou água) para se propagar, a luz é radiação eletromagnética que se autossustenta. Quando você olha para as estrelas, está olhando para o passado, pois a luz leva anos para chegar aos seus olhos.
320
+ </p>
321
+ </div>
322
+ <div class="read-more">
323
+ Explorar <i class="fa-solid fa-arrow-right"></i>
324
+ </div>
325
+ </article>
326
+
327
+ <!-- Card 2: Time Travel -->
328
+ <article class="card" onclick="toggleCard(this)">
329
+ <div class="icon-box">
330
+ <i class="fa-solid fa-hourglass-half"></i>
331
+ </div>
332
+ <h3>O Paradoxo do Tempo</h3>
333
+ <p>Se voltássemos no tempo, o que aconteceria? A física sugere que o tempo é relativo, não absoluto.</p>
334
+ <div class="expand-content">
335
+ <p style="margin-top: 1rem; font-size: 0.9rem;">
336
+ Segundo a Teoria da Relatividade de Einstein, o tempo dilata conforme a velocidade aumenta. Se você viajasse perto da velocidade da luz, o tempo passaria mais devagar para você do que para quem ficou na Terra. Viajar para o futuro é cientificamente possível (dilatação temporal), mas voltar ao passado envolve paradoxos complexos e buracos de minhoca teóricos.
337
+ </p>
338
+ </div>
339
+ <div class="read-more">
340
+ Explorar <i class="fa-solid fa-arrow-right"></i>
341
+ </div>
342
+ </article>
343
+
344
+ <!-- Card 3: Speed Limit -->
345
+ <article class="card" onclick="toggleCard(this)">
346
+ <div class="icon-box">
347
+ <i class="fa-solid fa-rocket"></i>
348
+ </div>
349
+ <h3>Ultrapassando a Luz</h3>
350
+ <p>O que seria necessário para quebrar a barreira da velocidade da luz e quais seriam as consequências?</p>
351
+ <div class="expand-content">
352
+ <p style="margin-top: 1rem; font-size: 0.9rem;">
353
+ Para um objeto com massa atingir a velocidade da luz, seria necessária uma quantidade <strong>infinita de energia</strong>. No entanto, teorias como o "Warp Drive" (Dobra Espacial) sugerem que, em vez de mover a nave através do espaço, poderíamos contrair o espaço à frente e expandi-lo atrás, permitindo viajar mais rápido que a luz sem violar as leis locais da física.
354
+ </p>
355
+ </div>
356
+ <div class="read-more">
357
+ Explorar <i class="fa-solid fa-arrow-right"></i>
358
+ </div>
359
+ </article>
360
+
361
+ </div>
362
+ </main>
363
+
364
+ <footer>
365
+ <p>&copy; 2023 Reflexões Cósmicas. Uma exploração visual da física teórica.</p>
366
+ <p style="margin-top: 10px; font-size: 0.8rem; opacity: 0.6;">Desenvolvido com curiosidade infinita.</p>
367
+ </footer>
368
+
369
+ <script>
370
+ // --- 1. Canvas Starfield Animation (Warp Effect) ---
371
+ const canvas = document.getElementById('cosmos-canvas');
372
+ const ctx = canvas.getContext('2d');
373
+
374
+ let width, height;
375
+ let stars = [];
376
+ const numStars = 800;
377
+ const speed = 2; // Base speed
378
+
379
+ function resize() {
380
+ width = window.innerWidth;
381
+ height = window.innerHeight;
382
+ canvas.width = width;
383
+ canvas.height = height;
384
+ }
385
+
386
+ class Star {
387
+ constructor() {
388
+ this.init();
389
+ }
390
+
391
+ init() {
392
+ this.x = (Math.random() - 0.5) * width * 2;
393
+ this.y = (Math.random() - 0.5) * height * 2;
394
+ this.z = Math.random() * width; // Depth
395
+ this.pz = this.z; // Previous Z for trail effect
396
+ }
397
+
398
+ update() {
399
+ this.z -= speed * 5; // Move star towards viewer
400
+ if (this.z < 1) {
401
+ this.init();
402
+ this.z = width;
403
+ this.pz = this.z;
404
+ }
405
+ }
406
+
407
+ draw() {
408
+ // Perspective projection
409
+ const sx = (this.x / this.z) * (width / 2) + (width / 2);
410
+ const sy = (this.y / this.z) * (height / 2) + (height / 2);
411
+
412
+ // Calculate size based on proximity
413
+ const r = (width / this.z) * 0.8;
414
+
415
+ // Draw trail (warp effect)
416
+ const px = (this.x / this.pz) * (width / 2) + (width / 2);
417
+ const py = (this.y / this.pz) * (height / 2) + (height / 2);
418
+
419
+ this.pz = this.z;
420
+
421
+ ctx.beginPath();
422
+ ctx.moveTo(px, py);
423
+ ctx.lineTo(sx, sy);
424
+
425
+ // Color variation
426
+ const opacity = 1 - (this.z / width);
427
+ ctx.strokeStyle = `rgba(200, 230, 255, ${opacity})`;
428
+ ctx.lineWidth = r;
429
+ ctx.stroke();
430
+ }
431
+ }
432
+
433
+ function initStars() {
434
+ stars = [];
435
+ for (let i = 0; i < numStars; i++) {
436
+ stars.push(new Star());
437
+ }
438
+ }
439
+
440
+ function animate() {
441
+ // Clear with slight fade for motion blur effect
442
+ ctx.fillStyle = 'rgba(3, 5, 8, 0.4)';
443
+ ctx.fillRect(0, 0, width, height);
444
+
445
+ stars.forEach(star => {
446
+ star.update();
447
+ star.draw();
448
+ });
449
+
450
+ requestAnimationFrame(animate);
451
+ }
452
+
453
+ window.addEventListener('resize', () => {
454
+ resize();
455
+ initStars();
456
+ });
457
+
458
+ // Initialize Canvas
459
+ resize();
460
+ initStars();
461
+ animate();
462
+
463
+
464
+ // --- 2. Scroll Reveal Animation ---
465
+ const observerOptions = {
466
+ threshold: 0.1,
467
+ rootMargin: "0px 0px -50px 0px"
468
+ };
469
+
470
+ const observer = new IntersectionObserver((entries) => {
471
+ entries.forEach(entry => {
472
+ if (entry.isIntersecting) {
473
+ entry.target.classList.add('visible');
474
+ // Optional: Unobserve after revealing
475
+ // observer.unobserve(entry.target);
476
+ }
477
+ });
478
+ }, observerOptions);
479
+
480
+ document.querySelectorAll('.card').forEach(card => {
481
+ observer.observe(card);
482
+ });
483
+
484
+
485
+ // --- 3. Card Interaction ---
486
+ function toggleCard(card) {
487
+ // Close other cards (accordion style) - Optional, remove if you want multiple open
488
+ document.querySelectorAll('.card').forEach(c => {
489
+ if (c !== card) c.classList.remove('active');
490
+ });
491
+
492
+ card.classList.toggle('active');
493
+ }
494
+
495
+ </script>
496
+ </body>
497
+ </html>