samirerty commited on
Commit
f2bee13
·
verified ·
1 Parent(s): 6877882

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +237 -487
index.html CHANGED
@@ -2,657 +2,407 @@
2
  <html lang="fa" dir="rtl">
3
  <head>
4
  <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>چت روم ساده | iOS Glassmorphism</title>
7
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
8
- <link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;600;800&display=swap" rel="stylesheet">
 
 
 
9
  <style>
10
  :root {
 
11
  --glass-bg: rgba(255, 255, 255, 0.1);
12
  --glass-border: rgba(255, 255, 255, 0.2);
13
- --glass-shadow: rgba(0, 0, 0, 0.1);
14
- --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
15
- --secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
16
- --accent-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
17
- --text-primary: #ffffff;
18
- --text-secondary: rgba(255, 255, 255, 0.8);
19
- --blur-amount: 20px;
20
  }
21
 
22
  * {
 
23
  margin: 0;
24
  padding: 0;
25
- box-sizing: border-box;
26
  }
27
 
28
  body {
29
  font-family: 'Vazirmatn', sans-serif;
 
30
  min-height: 100vh;
31
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 50%, #6e48aa 100%);
32
- background-attachment: fixed;
 
 
33
  overflow-x: hidden;
34
  position: relative;
35
  }
36
 
37
- /* Animated Background Shapes */
38
- .bg-shapes {
39
- position: fixed;
40
- top: 0;
41
- left: 0;
42
- width: 100%;
43
- height: 100%;
44
- overflow: hidden;
45
- z-index: -1;
46
- }
47
-
48
- .shape {
49
  position: absolute;
 
50
  filter: blur(80px);
51
  opacity: 0.6;
52
- animation: float 20s infinite ease-in-out;
 
53
  }
54
 
55
- .shape-1 {
56
- width: 400px;
57
- height: 400px;
58
- background: #ff6b6b;
59
- top: -100px;
60
- right: -100px;
61
  animation-delay: 0s;
62
  }
63
 
64
- .shape-2 {
65
- width: 300px;
66
- height: 300px;
67
- background: #4ecdc4;
68
- bottom: -50px;
69
- left: -50px;
70
- animation-delay: 5s;
71
  }
72
 
73
- .shape-3 {
74
- width: 250px;
75
- height: 250px;
76
- background: #ffe66d;
77
- top: 50%;
78
- left: 50%;
79
- transform: translate(-50%, -50%);
80
- animation-delay: 10s;
81
  }
82
 
83
  @keyframes float {
84
- 0%, 100% { transform: translate(0, 0) scale(1); }
85
- 33% { transform: translate(30px, -30px) scale(1.1); }
86
- 66% { transform: translate(-20px, 20px) scale(0.9); }
87
  }
88
 
89
- /* Header with anycoder link */
90
- .header {
91
  position: fixed;
92
  top: 0;
93
  left: 0;
94
- right: 0;
95
- padding: 1rem 2rem;
96
- background: var(--glass-bg);
97
- backdrop-filter: blur(var(--blur-amount));
98
- -webkit-backdrop-filter: blur(var(--blur-amount));
99
- border-bottom: 1px solid var(--glass-border);
100
- z-index: 1000;
101
  display: flex;
102
  justify-content: space-between;
103
  align-items: center;
104
- }
105
-
106
- .logo {
107
- font-size: 1.5rem;
108
- font-weight: 800;
109
- color: var(--text-primary);
110
- text-shadow: 0 2px 4px rgba(0,0,0,0.2);
111
- }
112
-
113
- .anycoder-link {
114
- background: var(--glass-bg);
115
- border: 1px solid var(--glass-border);
116
- padding: 0.5rem 1rem;
117
- border-radius: 20px;
118
- color: var(--text-primary);
119
- text-decoration: none;
120
- font-size: 0.85rem;
121
- transition: all 0.3s ease;
122
  backdrop-filter: blur(10px);
 
 
123
  }
124
 
125
- .anycoder-link:hover {
126
- background: rgba(255,255,255,0.2);
127
- transform: translateY(-2px);
128
- box-shadow: 0 4px 12px rgba(0,0,0,0.2);
129
  }
130
 
131
  /* Main Container */
132
  .container {
133
- max-width: 1200px;
134
- margin: 0 auto;
135
- padding: 8rem 2rem 4rem;
136
- position: relative;
137
- }
138
-
139
- /* Hero Section with Glassmorphism */
140
- .hero {
141
- text-align: center;
142
- margin-bottom: 4rem;
143
  position: relative;
 
 
 
 
 
 
 
 
144
  }
145
 
146
- .hero-card {
147
- background: var(--glass-bg);
148
- backdrop-filter: blur(var(--blur-amount));
149
- -webkit-backdrop-filter: blur(var(--blur-amount));
150
- border: 1px solid var(--glass-border);
151
- border-radius: 30px;
152
- padding: 3rem;
153
- box-shadow:
154
- 0 8px 32px 0 var(--glass-shadow),
155
- inset 0 0 0 1px rgba(255,255,255,0.1);
156
- position: relative;
157
- overflow: hidden;
158
- }
159
-
160
- .hero-card::before {
161
- content: '';
162
- position: absolute;
163
- top: -50%;
164
- left: -50%;
165
- width: 200%;
166
- height: 200%;
167
- background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
168
- animation: shimmer 10s infinite linear;
169
  }
170
 
171
- @keyframes shimmer {
172
- 0% { transform: rotate(0deg); }
173
- 100% { transform: rotate(360deg); }
 
174
  }
175
 
176
  .hero h1 {
177
- font-size: 3.5rem;
178
  font-weight: 800;
179
- color: var(--text-primary);
180
- margin-bottom: 1rem;
181
- text-shadow: 0 4px 8px rgba(0,0,0,0.3);
182
- position: relative;
183
- z-index: 1;
184
  }
185
 
186
- .hero-icon {
187
- font-size: 4rem;
188
- margin-bottom: 1rem;
189
- display: inline-block;
190
- animation: bounce 2s infinite;
191
- filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
192
- }
193
-
194
- @keyframes bounce {
195
- 0%, 100% { transform: translateY(0); }
196
- 50% { transform: translateY(-10px); }
197
- }
198
-
199
- .subtitle {
200
- font-size: 1.25rem;
201
- color: var(--text-secondary);
202
- font-weight: 300;
203
- position: relative;
204
- z-index: 1;
205
  }
206
 
207
  /* Features Grid */
208
  .features {
209
  display: grid;
210
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
211
- gap: 2rem;
212
- margin-bottom: 4rem;
213
  }
214
 
215
  .feature {
216
  background: var(--glass-bg);
217
- backdrop-filter: blur(var(--blur-amount));
218
- -webkit-backdrop-filter: blur(var(--blur-amount));
219
  border: 1px solid var(--glass-border);
220
  border-radius: 24px;
221
- padding: 2.5rem;
222
  text-align: center;
223
- transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
224
- position: relative;
225
- overflow: hidden;
226
- }
227
-
228
- .feature::before {
229
- content: '';
230
- position: absolute;
231
- top: 0;
232
- left: 0;
233
- right: 0;
234
- height: 4px;
235
- background: var(--accent-gradient);
236
- transform: scaleX(0);
237
- transition: transform 0.4s ease;
238
  }
239
 
240
  .feature:hover {
241
- transform: translateY(-10px) scale(1.02);
242
- box-shadow:
243
- 0 20px 40px rgba(0,0,0,0.2),
244
- inset 0 0 0 1px rgba(255,255,255,0.2);
245
- }
246
-
247
- .feature:hover::before {
248
- transform: scaleX(1);
249
  }
250
 
251
- .feature-icon {
252
- width: 80px;
253
- height: 80px;
254
- background: var(--primary-gradient);
255
- border-radius: 24px;
256
  display: flex;
257
  align-items: center;
258
  justify-content: center;
259
- margin: 0 auto 1.5rem;
260
- font-size: 2rem;
261
- color: white;
262
- box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
263
- transition: transform 0.3s ease;
264
- }
265
-
266
- .feature:hover .feature-icon {
267
- transform: scale(1.1) rotate(5deg);
268
  }
269
 
270
  .feature h3 {
271
- color: var(--text-primary);
272
- font-size: 1.5rem;
273
- margin-bottom: 0.75rem;
274
- font-weight: 600;
275
  }
276
 
277
  .feature p {
278
- color: var(--text-secondary);
279
- font-size: 1rem;
280
- line-height: 1.6;
281
  }
282
 
283
- /* CTA Section */
284
  .cta {
285
  display: flex;
286
- gap: 1.5rem;
287
- justify-content: center;
288
- flex-wrap: wrap;
289
- margin-top: 3rem;
290
  }
291
 
292
  .btn {
293
- position: relative;
294
- padding: 1.25rem 3rem;
 
 
295
  border-radius: 50px;
296
- font-size: 1.1rem;
297
- font-weight: 600;
298
  text-decoration: none;
299
- color: white;
300
- border: none;
301
- cursor: pointer;
302
- overflow: hidden;
303
  transition: all 0.3s ease;
304
- backdrop-filter: blur(10px);
305
- display: inline-flex;
306
- align-items: center;
307
- gap: 0.5rem;
308
- }
309
-
310
- .btn-primary {
311
- background: var(--primary-gradient);
312
- box-shadow:
313
- 0 10px 30px rgba(102, 126, 234, 0.4),
314
- inset 0 1px 0 rgba(255,255,255,0.3);
315
- }
316
-
317
- .btn-secondary {
318
- background: var(--glass-bg);
319
- border: 2px solid rgba(255,255,255,0.3);
320
- box-shadow: 0 4px 15px rgba(0,0,0,0.1);
321
  }
322
 
323
  .btn::before {
324
  content: '';
325
  position: absolute;
326
  top: 0;
327
- left: -100%;
328
  width: 100%;
329
  height: 100%;
330
- background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
331
- transition: left 0.5s ease;
 
332
  }
333
 
334
  .btn:hover::before {
335
- left: 100%;
336
  }
337
 
338
- .btn:hover {
339
- transform: translateY(-3px);
340
- box-shadow: 0 15px 40px rgba(0,0,0,0.3);
341
  }
342
 
343
- .btn:active {
344
- transform: translateY(-1px);
 
 
345
  }
346
 
347
- /* Floating Particles */
348
- .particles {
349
- position: fixed;
350
- top: 0;
351
- left: 0;
352
- width: 100%;
353
- height: 100%;
354
- pointer-events: none;
355
- z-index: 0;
356
  }
357
 
358
- .particle {
359
- position: absolute;
360
- width: 6px;
361
- height: 6px;
362
- background: rgba(255,255,255,0.5);
363
- border-radius: 50%;
364
- animation: particle-float 15s infinite linear;
365
  }
366
 
367
- @keyframes particle-float {
368
- 0% {
369
- transform: translateY(100vh) translateX(0);
370
- opacity: 0;
371
- }
372
- 10% {
373
- opacity: 1;
374
- }
375
- 90% {
376
- opacity: 1;
377
- }
378
- 100% {
379
- transform: translateY(-100vh) translateX(100px);
380
- opacity: 0;
381
- }
 
 
 
 
 
 
 
 
382
  }
383
 
384
- /* Responsive Design */
385
- @media (max-width: 768px) {
386
  .hero h1 {
387
- font-size: 2.5rem;
388
- }
389
-
390
- .hero-card {
391
- padding: 2rem;
392
  }
393
-
394
  .features {
395
  grid-template-columns: 1fr;
396
- gap: 1.5rem;
397
  }
398
-
399
- .cta {
400
- flex-direction: column;
401
  align-items: center;
 
 
402
  }
403
-
404
- .btn {
405
- width: 100%;
406
- max-width: 300px;
407
- justify-content: center;
408
- }
409
-
410
- .header {
411
- padding: 0.75rem 1rem;
412
  }
413
  }
414
-
415
- /* Loading Animation */
416
- .loading-overlay {
417
- position: fixed;
418
- top: 0;
419
- left: 0;
420
- width: 100%;
421
- height: 100%;
422
- background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
423
- z-index: 9999;
424
- display: flex;
425
- align-items: center;
426
- justify-content: center;
427
- transition: opacity 0.5s ease, visibility 0.5s ease;
428
- }
429
-
430
- .loading-overlay.hidden {
431
- opacity: 0;
432
- visibility: hidden;
433
- }
434
-
435
- .loader {
436
- width: 60px;
437
- height: 60px;
438
- border: 4px solid rgba(255,255,255,0.1);
439
- border-top-color: white;
440
- border-radius: 50%;
441
- animation: spin 1s linear infinite;
442
- }
443
-
444
- @keyframes spin {
445
- to { transform: rotate(360deg); }
446
- }
447
-
448
- /* Scroll Indicator */
449
- .scroll-indicator {
450
- position: absolute;
451
- bottom: 2rem;
452
- left: 50%;
453
- transform: translateX(-50%);
454
- animation: bounce-down 2s infinite;
455
- color: white;
456
- font-size: 1.5rem;
457
- opacity: 0.7;
458
- }
459
-
460
- @keyframes bounce-down {
461
- 0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
462
- 40% { transform: translateX(-50%) translateY(-10px); }
463
- 60% { transform: translateX(-50%) translateY(-5px); }
464
- }
465
  </style>
466
  </head>
467
  <body>
468
- <!-- Loading Screen -->
469
- <div class="loading-overlay" id="loader">
470
- <div class="loader"></div>
471
- </div>
472
-
473
- <!-- Background Shapes -->
474
- <div class="bg-shapes">
475
- <div class="shape shape-1"></div>
476
- <div class="shape shape-2"></div>
477
- <div class="shape shape-3"></div>
478
- </div>
479
-
480
- <!-- Floating Particles -->
481
- <div class="particles" id="particles"></div>
482
 
483
- <!-- Header -->
484
- <header class="header">
485
- <div class="logo">
486
- <i class="fas fa-comments"></i> چت روم
 
 
 
 
 
 
 
487
  </div>
488
- <a href="https://huggingface.co/spaces/akhaliq/anycoder" class="anycoder-link" target="_blank">
489
- <i class="fas fa-code"></i> Built with anycoder
490
- </a>
491
- </header>
492
 
493
- <!-- Main Content -->
494
  <div class="container">
 
495
  <div class="hero">
496
- <div class="hero-card">
497
- <div class="hero-icon">💬</div>
498
- <h1>چت روم ساده</h1>
499
- <p class="subtitle">محلی برای گفتگو با دوستان</p>
500
- <div class="scroll-indicator">
501
- <i class="fas fa-chevron-down"></i>
502
- </div>
503
- </div>
504
  </div>
505
 
 
506
  <div class="features">
507
- <div class="feature" data-delay="0">
508
- <div class="feature-icon">
509
- <i class="fas fa-mobile-alt"></i>
510
- </div>
511
  <h3>ثبت‌نام آسان</h3>
512
- <p>با شماره موبایل ثبت‌نام کنید و در کمترین زمان عضو شوید</p>
513
  </div>
514
 
515
- <div class="feature" data-delay="100">
516
- <div class="feature-icon" style="background: var(--secondary-gradient);">
517
- <i class="fas fa-users"></i>
518
- </div>
519
  <h3>ساخت اتاق</h3>
520
- <p>تا ۳ اتاق مختلف بسازید و دوستان خود را دعوت کنید</p>
521
  </div>
522
 
523
- <div class="feature" data-delay="200">
524
- <div class="feature-icon" style="background: var(--accent-gradient);">
525
- <i class="fas fa-bolt"></i>
526
- </div>
527
  <h3>چت زنده</h3>
528
- <p>گفتگوی آنلاین و سریع با کمترین تاخیر ممکن</p>
529
  </div>
530
  </div>
531
 
 
532
  <div class="cta">
533
- <a href="register.php" class="btn btn-primary">
534
- <i class="fas fa-rocket"></i>
535
- شروع کنید
536
- </a>
537
- <a href="login.php" class="btn btn-secondary">
538
- <i class="fas fa-sign-in-alt"></i>
539
- ورود
540
- </a>
541
  </div>
542
  </div>
543
 
544
  <script>
545
- // Remove loader when page loads
546
- window.addEventListener('load', () => {
547
- setTimeout(() => {
548
- document.getElementById('loader').classList.add('hidden');
549
- }, 500);
550
- });
551
-
552
- // Create floating particles
553
- function createParticles() {
554
- const container = document.getElementById('particles');
555
- const particleCount = 30;
556
-
557
- for (let i = 0; i < particleCount; i++) {
558
- const particle = document.createElement('div');
559
- particle.className = 'particle';
560
- particle.style.left = Math.random() * 100 + '%';
561
- particle.style.animationDuration = (Math.random() * 10 + 10) + 's';
562
- particle.style.animationDelay = Math.random() * 5 + 's';
563
- particle.style.opacity = Math.random() * 0.5 + 0.2;
564
- container.appendChild(particle);
565
- }
566
  }
567
 
568
- createParticles();
569
-
570
- // Intersection Observer for feature animations
571
- const observerOptions = {
572
- threshold: 0.1,
573
- rootMargin: '0px 0px -50px 0px'
574
- };
575
-
576
- const observer = new IntersectionObserver((entries) => {
577
- entries.forEach(entry => {
578
- if (entry.isIntersecting) {
579
- entry.target.style.opacity = '1';
580
- entry.target.style.transform = 'translateY(0)';
581
- }
582
- });
583
- }, observerOptions);
584
-
585
- // Initialize feature animations
586
- document.querySelectorAll('.feature').forEach((feature, index) => {
587
- feature.style.opacity = '0';
588
- feature.style.transform = 'translateY(30px)';
589
- feature.style.transition = `all 0.6s ease ${index * 0.1}s`;
590
- observer.observe(feature);
591
- });
592
 
593
- // Parallax effect for background shapes
594
  document.addEventListener('mousemove', (e) => {
595
- const shapes = document.querySelectorAll('.shape');
596
  const x = e.clientX / window.innerWidth;
597
  const y = e.clientY / window.innerHeight;
598
 
599
- shapes.forEach((shape, index) => {
 
600
  const speed = (index + 1) * 20;
601
- const xOffset = (0.5 - x) * speed;
602
- const yOffset = (0.5 - y) * speed;
603
- shape.style.transform = `translate(${xOffset}px, ${yOffset}px)`;
604
- });
605
- });
606
-
607
- // Button click effects
608
- document.querySelectorAll('.btn').forEach(btn => {
609
- btn.addEventListener('click', function(e) {
610
- // Create ripple effect
611
- const ripple = document.createElement('span');
612
- const rect = this.getBoundingClientRect();
613
- const size = Math.max(rect.width, rect.height);
614
- const x = e.clientX - rect.left - size / 2;
615
- const y = e.clientY - rect.top - size / 2;
616
-
617
- ripple.style.cssText = `
618
- position: absolute;
619
- width: ${size}px;
620
- height: ${size}px;
621
- left: ${x}px;
622
- top: ${y}px;
623
- background: rgba(255,255,255,0.5);
624
- border-radius: 50%;
625
- transform: scale(0);
626
- animation: ripple 0.6s ease-out;
627
- pointer-events: none;
628
- `;
629
 
630
- this.appendChild(ripple);
631
-
632
- setTimeout(() => ripple.remove(), 600);
633
  });
634
  });
635
 
636
- // Add ripple animation keyframes dynamically
637
- const style = document.createElement('style');
638
- style.textContent = `
639
- @keyframes ripple {
640
- to {
641
- transform: scale(2);
642
- opacity: 0;
643
- }
644
- }
645
- `;
646
- document.head.appendChild(style);
647
-
648
- // Smooth scroll behavior
649
- document.querySelectorAll('a[href^="#"]').forEach(anchor => {
650
- anchor.addEventListener('click', function (e) {
651
- e.preventDefault();
652
- const target = document.querySelector(this.getAttribute('href'));
653
- if (target) {
654
- target.scrollIntoView({ behavior: 'smooth', block: 'start' });
655
- }
656
  });
657
  });
658
  </script>
 
2
  <html lang="fa" dir="rtl">
3
  <head>
4
  <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
6
  <title>چت روم ساده | iOS Glassmorphism</title>
7
+ <!-- Importing Vazirmatn font for beautiful Persian typography -->
8
+ <link href="https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css" rel="stylesheet" type="text/css" />
9
+ <!-- Importing Remix Icon for modern icons -->
10
+ <link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet">
11
+
12
  <style>
13
  :root {
14
+ --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
15
  --glass-bg: rgba(255, 255, 255, 0.1);
16
  --glass-border: rgba(255, 255, 255, 0.2);
17
+ --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
18
+ --text-color: #ffffff;
19
+ --secondary-text: rgba(255, 255, 255, 0.7);
20
+ --accent-color: #ff2e63;
 
 
 
21
  }
22
 
23
  * {
24
+ box-sizing: border-box;
25
  margin: 0;
26
  padding: 0;
27
+ -webkit-tap-highlight-color: transparent;
28
  }
29
 
30
  body {
31
  font-family: 'Vazirmatn', sans-serif;
32
+ background: var(--primary-gradient);
33
  min-height: 100vh;
34
+ display: flex;
35
+ justify-content: center;
36
+ align-items: center;
37
+ color: var(--text-color);
38
  overflow-x: hidden;
39
  position: relative;
40
  }
41
 
42
+ /* Animated Background Blobs */
43
+ .blob {
 
 
 
 
 
 
 
 
 
 
44
  position: absolute;
45
+ border-radius: 50%;
46
  filter: blur(80px);
47
  opacity: 0.6;
48
+ z-index: 0;
49
+ animation: float 10s infinite ease-in-out alternate;
50
  }
51
 
52
+ .blob-1 {
53
+ top: -10%;
54
+ left: -10%;
55
+ width: 300px;
56
+ height: 300px;
57
+ background: #ff00cc;
58
  animation-delay: 0s;
59
  }
60
 
61
+ .blob-2 {
62
+ bottom: -10%;
63
+ right: -10%;
64
+ width: 400px;
65
+ height: 400px;
66
+ background: #333399;
67
+ animation-delay: -5s;
68
  }
69
 
70
+ .blob-3 {
71
+ top: 40%;
72
+ left: 40%;
73
+ width: 200px;
74
+ height: 200px;
75
+ background: #00d2ff;
76
+ animation-delay: -2s;
 
77
  }
78
 
79
  @keyframes float {
80
+ 0% { transform: translate(0, 0) scale(1); }
81
+ 100% { transform: translate(30px, 50px) scale(1.1); }
 
82
  }
83
 
84
+ /* iOS Status Bar Simulation */
85
+ .status-bar {
86
  position: fixed;
87
  top: 0;
88
  left: 0;
89
+ width: 100%;
90
+ height: 44px;
 
 
 
 
 
91
  display: flex;
92
  justify-content: space-between;
93
  align-items: center;
94
+ padding: 0 20px;
95
+ z-index: 100;
96
+ font-size: 14px;
97
+ font-weight: 600;
98
+ background: rgba(0, 0, 0, 0.1);
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  backdrop-filter: blur(10px);
100
+ -webkit-backdrop-filter: blur(10px);
101
+ border-bottom: 1px solid rgba(255,255,255,0.05);
102
  }
103
 
104
+ .status-icons {
105
+ display: flex;
106
+ gap: 8px;
107
+ align-items: center;
108
  }
109
 
110
  /* Main Container */
111
  .container {
 
 
 
 
 
 
 
 
 
 
112
  position: relative;
113
+ z-index: 10;
114
+ width: 90%;
115
+ max-width: 450px;
116
+ padding: 20px;
117
+ display: flex;
118
+ flex-direction: column;
119
+ gap: 30px;
120
+ animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
121
  }
122
 
123
+ @keyframes fadeInUp {
124
+ from {
125
+ opacity: 0;
126
+ transform: translate3d(0, 40px, 0);
127
+ }
128
+ to {
129
+ opacity: 1;
130
+ transform: translate3d(0, 0, 0);
131
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  }
133
 
134
+ /* Hero Section */
135
+ .hero {
136
+ text-align: center;
137
+ margin-bottom: 10px;
138
  }
139
 
140
  .hero h1 {
141
+ font-size: 2.5rem;
142
  font-weight: 800;
143
+ margin-bottom: 10px;
144
+ text-shadow: 0 4px 10px rgba(0,0,0,0.2);
145
+ letter-spacing: -0.5px;
 
 
146
  }
147
 
148
+ .hero .subtitle {
149
+ color: var(--secondary-text);
150
+ font-size: 1.1rem;
151
+ font-weight: 400;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  }
153
 
154
  /* Features Grid */
155
  .features {
156
  display: grid;
157
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
158
+ gap: 15px;
 
159
  }
160
 
161
  .feature {
162
  background: var(--glass-bg);
163
+ backdrop-filter: blur(12px);
164
+ -webkit-backdrop-filter: blur(12px);
165
  border: 1px solid var(--glass-border);
166
  border-radius: 24px;
167
+ padding: 20px 10px;
168
  text-align: center;
169
+ box-shadow: var(--glass-shadow);
170
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s;
171
+ cursor: default;
 
 
 
 
 
 
 
 
 
 
 
 
172
  }
173
 
174
  .feature:hover {
175
+ transform: translateY(-5px) scale(1.02);
176
+ background: rgba(255, 255, 255, 0.15);
 
 
 
 
 
 
177
  }
178
 
179
+ .feature .icon {
180
+ width: 50px;
181
+ height: 50px;
182
+ background: linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
183
+ border-radius: 50%;
184
  display: flex;
185
  align-items: center;
186
  justify-content: center;
187
+ margin: 0 auto 15px;
188
+ font-size: 1.5rem;
189
+ box-shadow: 0 4px 15px rgba(0,0,0,0.1);
 
 
 
 
 
 
190
  }
191
 
192
  .feature h3 {
193
+ font-size: 1rem;
194
+ margin-bottom: 5px;
195
+ font-weight: 700;
 
196
  }
197
 
198
  .feature p {
199
+ font-size: 0.8rem;
200
+ color: var(--secondary-text);
201
+ line-height: 1.4;
202
  }
203
 
204
+ /* Buttons (CTA) */
205
  .cta {
206
  display: flex;
207
+ flex-direction: column;
208
+ gap: 15px;
209
+ margin-top: 10px;
 
210
  }
211
 
212
  .btn {
213
+ display: inline-flex;
214
+ justify-content: center;
215
+ align-items: center;
216
+ padding: 16px 32px;
217
  border-radius: 50px;
 
 
218
  text-decoration: none;
219
+ font-weight: 700;
220
+ font-size: 1.1rem;
 
 
221
  transition: all 0.3s ease;
222
+ position: relative;
223
+ overflow: hidden;
224
+ backdrop-filter: blur(5px);
225
+ box-shadow: 0 4px 15px rgba(0,0,0,0.2);
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  }
227
 
228
  .btn::before {
229
  content: '';
230
  position: absolute;
231
  top: 0;
232
+ left: 0;
233
  width: 100%;
234
  height: 100%;
235
+ background: linear-gradient(rgba(255,255,255,0.2), transparent);
236
+ opacity: 0;
237
+ transition: opacity 0.3s;
238
  }
239
 
240
  .btn:hover::before {
241
+ opacity: 1;
242
  }
243
 
244
+ .btn:active {
245
+ transform: scale(0.96);
 
246
  }
247
 
248
+ .btn-primary {
249
+ background: rgba(255, 255, 255, 0.9);
250
+ color: #764ba2;
251
+ border: 1px solid rgba(255,255,255,0.5);
252
  }
253
 
254
+ .btn-primary:hover {
255
+ background: #ffffff;
256
+ box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
 
 
 
 
 
 
257
  }
258
 
259
+ .btn-secondary {
260
+ background: rgba(0, 0, 0, 0.2);
261
+ color: #ffffff;
262
+ border: 1px solid rgba(255,255,255,0.1);
 
 
 
263
  }
264
 
265
+ .btn-secondary:hover {
266
+ background: rgba(0, 0, 0, 0.3);
267
+ border-color: rgba(255,255,255,0.3);
268
+ }
269
+
270
+ /* AnyCoder Link */
271
+ .footer-link {
272
+ text-align: center;
273
+ margin-top: 20px;
274
+ font-size: 0.8rem;
275
+ color: rgba(255,255,255,0.5);
276
+ }
277
+
278
+ .footer-link a {
279
+ color: rgba(255,255,255,0.8);
280
+ text-decoration: none;
281
+ border-bottom: 1px dashed rgba(255,255,255,0.5);
282
+ transition: color 0.3s;
283
+ }
284
+
285
+ .footer-link a:hover {
286
+ color: #fff;
287
+ border-bottom-style: solid;
288
  }
289
 
290
+ /* Responsive Tweaks */
291
+ @media (max-width: 400px) {
292
  .hero h1 {
293
+ font-size: 2rem;
 
 
 
 
294
  }
 
295
  .features {
296
  grid-template-columns: 1fr;
 
297
  }
298
+ .feature {
299
+ display: flex;
 
300
  align-items: center;
301
+ text-align: right;
302
+ padding: 15px 20px;
303
  }
304
+ .feature .icon {
305
+ margin: 0 15px 0 0;
306
+ width: 40px;
307
+ height: 40px;
308
+ font-size: 1.2rem;
 
 
 
 
309
  }
310
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  </style>
312
  </head>
313
  <body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
 
315
+ <!-- Animated Background Elements -->
316
+ <div class="blob blob-1"></div>
317
+ <div class="blob blob-2"></div>
318
+ <div class="blob blob-3"></div>
319
+
320
+ <!-- iOS Status Bar Simulation -->
321
+ <div class="status-bar">
322
+ <div class="time" id="clock">12:00</div>
323
+ <div class="status-icons">
324
+ <i class="ri-signal-wifi-fill"></i>
325
+ <i class="ri-battery-fill"></i>
326
  </div>
327
+ </div>
 
 
 
328
 
 
329
  <div class="container">
330
+ <!-- Header / Hero Section -->
331
  <div class="hero">
332
+ <h1>💬 چت روم ساده</h1>
333
+ <p class="subtitle">محلی امن و زیبا برای گفتگو با دوستان</p>
 
 
 
 
 
 
334
  </div>
335
 
336
+ <!-- Features Cards -->
337
  <div class="features">
338
+ <div class="feature">
339
+ <div class="icon"><i class="ri-lock-password-line"></i></div>
 
 
340
  <h3>ثبت‌نام آسان</h3>
341
+ <p>با شماره موبایل ثبت‌نام کنید</p>
342
  </div>
343
 
344
+ <div class="feature">
345
+ <div class="icon"><i class="ri-group-line"></i></div>
 
 
346
  <h3>ساخت اتاق</h3>
347
+ <p>تا ۳ اتاق مختلف بسازید</p>
348
  </div>
349
 
350
+ <div class="feature">
351
+ <div class="icon"><i class="ri-chat-smile-3-line"></i></div>
 
 
352
  <h3>چت زنده</h3>
353
+ <p>گفتگوی آنلاین و سریع</p>
354
  </div>
355
  </div>
356
 
357
+ <!-- Call to Action Buttons -->
358
  <div class="cta">
359
+ <a href="register.php" class="btn btn-primary">شروع کنید</a>
360
+ <a href="login.php" class="btn btn-secondary">ورود</a>
361
+ </div>
362
+
363
+ <!-- Footer Credit -->
364
+ <div class="footer-link">
365
+ Built with <a href="https://huggingface.co/spaces/akhaliq/anycoder" target="_blank">anycoder</a>
 
366
  </div>
367
  </div>
368
 
369
  <script>
370
+ // Simple script to update the simulated iOS status bar clock
371
+ function updateClock() {
372
+ const now = new Date();
373
+ const hours = String(now.getHours()).padStart(2, '0');
374
+ const minutes = String(now.getMinutes()).padStart(2, '0');
375
+ document.getElementById('clock').textContent = `${hours}:${minutes}`;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  }
377
 
378
+ // Update clock immediately and then every minute
379
+ updateClock();
380
+ setInterval(updateClock, 1000);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
381
 
382
+ // Add subtle parallax effect to blobs on mouse move (Desktop only)
383
  document.addEventListener('mousemove', (e) => {
 
384
  const x = e.clientX / window.innerWidth;
385
  const y = e.clientY / window.innerHeight;
386
 
387
+ const blobs = document.querySelectorAll('.blob');
388
+ blobs.forEach((blob, index) => {
389
  const speed = (index + 1) * 20;
390
+ const xOffset = (window.innerWidth / 2 - e.clientX) / speed;
391
+ const yOffset = (window.innerHeight / 2 - e.clientY) / speed;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
 
393
+ // Keep the animation but add slight offset
394
+ blob.style.transform = `translate(${xOffset}px, ${yOffset}px)`;
 
395
  });
396
  });
397
 
398
+ // Add touch feedback for mobile
399
+ const buttons = document.querySelectorAll('.btn, .feature');
400
+ buttons.forEach(btn => {
401
+ btn.addEventListener('touchstart', () => {
402
+ btn.style.transform = 'scale(0.95)';
403
+ });
404
+ btn.addEventListener('touchend', () => {
405
+ btn.style.transform = 'scale(1)';
 
 
 
 
 
 
 
 
 
 
 
 
406
  });
407
  });
408
  </script>