anycoder-9d4d752b / index.html
samirerty's picture
Upload folder using huggingface_hub
ed57d74 verified
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>چت روم ساده</title>
<style>
/* iOS Design System & CSS Reset */
:root {
/* iOS Color Palette - Blue Purple Scheme */
--ios-bg-deep: #0f0f1e;
--ios-bg-mid: #1c1c2e;
--ios-bg-light: #2d2d44;
--ios-blue: #007AFF;
--ios-purple: #AF52DE;
--ios-indigo: #5856D6;
--ios-pink: #FF2D55;
--ios-text-primary: rgba(255, 255, 255, 0.95);
--ios-text-secondary: rgba(255, 255, 255, 0.6);
--ios-glass-bg: rgba(255, 255, 255, 0.08);
--ios-glass-border: rgba(255, 255, 255, 0.15);
--ios-glass-highlight: rgba(255, 255, 255, 0.25);
--ios-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
--ios-blur: blur(20px) saturate(180%);
--ios-radius-sm: 12px;
--ios-radius-md: 20px;
--ios-radius-lg: 28px;
--ios-radius-xl: 34px;
--ios-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Smooth scrolling and iOS momentum */
html {
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
background-attachment: fixed;
min-height: 100vh;
color: var(--ios-text-primary);
line-height: 1.47059;
font-weight: 400;
letter-spacing: -0.022em;
overflow-x: hidden;
position: relative;
}
/* Animated Mesh Gradient Background */
body::before {
content: '';
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background:
radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.3) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.15) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(88, 86, 214, 0.2) 0%, transparent 40%);
animation: meshMove 20s ease-in-out infinite;
pointer-events: none;
z-index: -1;
}
@keyframes meshMove {
0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(30px, -30px) scale(1.1); }
66% { transform: translate(-20px, 20px) scale(0.9); }
}
/* Built with Anycoder Link - Fixed at top */
.built-with {
position: fixed;
top: 20px;
left: 50%;
transform: translateX(-50%);
z-index: 1000;
background: var(--ios-glass-bg);
backdrop-filter: var(--ios-blur);
-webkit-backdrop-filter: var(--ios-blur);
border: 1px solid var(--ios-glass-border);
padding: 8px 20px;
border-radius: 100px;
font-size: 13px;
font-weight: 500;
color: var(--ios-text-secondary);
text-decoration: none;
transition: var(--ios-transition);
box-shadow: var(--ios-shadow);
}
.built-with:hover {
background: rgba(255, 255, 255, 0.15);
color: var(--ios-text-primary);
transform: translateX(-50%) translateY(-2px);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
/* Main Container */
.container {
max-width: 900px;
margin: 0 auto;
padding: 100px 24px 40px;
display: flex;
flex-direction: column;
gap: 32px;
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Glassmorphism Hero Section */
.hero {
background: var(--ios-glass-bg);
backdrop-filter: var(--ios-blur);
-webkit-backdrop-filter: var(--ios-blur);
border: 1px solid var(--ios-glass-border);
border-radius: var(--ios-radius-xl);
padding: 48px 32px;
text-align: center;
box-shadow:
var(--ios-shadow),
inset 0 1px 0 var(--ios-glass-highlight);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
}
.hero h1 {
font-size: clamp(32px, 6vw, 48px);
font-weight: 700;
background: linear-gradient(135deg, #fff 0%, #a5a5ff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 16px;
letter-spacing: -0.003em;
}
.subtitle {
font-size: 19px;
color: var(--ios-text-secondary);
font-weight: 400;
max-width: 400px;
margin: 0 auto;
line-height: 1.4;
}
/* Features Grid - iOS Style Cards */
.features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 20px;
width: 100%;
}
.feature {
background: var(--ios-glass-bg);
backdrop-filter: var(--ios-blur);
-webkit-backdrop-filter: var(--ios-blur);
border: 1px solid var(--ios-glass-border);
border-radius: var(--ios-radius-lg);
padding: 28px;
transition: var(--ios-transition);
box-shadow: var(--ios-shadow);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 16px;
}
.feature::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 50%);
opacity: 0;
transition: opacity 0.3s;
pointer-events: none;
}
.feature:hover {
transform: translateY(-4px) scale(1.02);
border-color: rgba(255, 255, 255, 0.25);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.feature:hover::after {
opacity: 1;
}
/* iOS Style App Icons - Squircle with Gradient */
.icon {
width: 72px;
height: 72px;
border-radius: 22px;
display: flex;
align-items: center;
justify-content: center;
font-size: 32px;
background: linear-gradient(135deg, var(--ios-blue) 0%, var(--ios-purple) 100%);
box-shadow:
0 4px 15px rgba(88, 86, 214, 0.4),
inset 0 1px 0 rgba(255,255,255,0.3);
position: relative;
transition: var(--ios-transition);
}
.feature:nth-child(2) .icon {
background: linear-gradient(135deg, var(--ios-purple) 0%, var(--ios-pink) 100%);
box-shadow:
0 4px 15px rgba(175, 82, 222, 0.4),
inset 0 1px 0 rgba(255,255,255,0.3);
}
.feature:nth-child(3) .icon {
background: linear-gradient(135deg, var(--ios-indigo) 0%, var(--ios-blue) 100%);
box-shadow:
0 4px 15px rgba(0, 122, 255, 0.4),
inset 0 1px 0 rgba(255,255,255,0.3);
}
.feature:hover .icon {
transform: scale(1.1) rotate(5deg);
}
.icon::before {
content: '';
position: absolute;
inset: 0;
border-radius: 22px;
background: linear-gradient(180deg, rgba(255,255,255,0.3) 0%, transparent 50%);
pointer-events: none;
}
.feature h3 {
font-size: 20px;
font-weight: 600;
color: var(--ios-text-primary);
margin: 0;
}
.feature p {
font-size: 15px;
color: var(--ios-text-secondary);
margin: 0;
line-height: 1.4;
}
/* CTA Section */
.cta {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
margin-top: 8px;
}
/* iOS Style Buttons */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 16px 32px;
border-radius: 100px;
font-size: 17px;
font-weight: 600;
text-decoration: none;
transition: var(--ios-transition);
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
min-width: 140px;
letter-spacing: -0.01em;
}
.btn-primary {
background: linear-gradient(135deg, var(--ios-blue) 0%, var(--ios-purple) 100%);
color: white;
box-shadow:
0 4px 20px rgba(0, 122, 255, 0.4),
inset 0 1px 0 rgba(255,255,255,0.2);
}
.btn-primary:hover {
transform: translateY(-2px) scale(1.05);
box-shadow:
0 8px 30px rgba(0, 122, 255, 0.6),
inset 0 1px 0 rgba(255,255,255,0.3);
}
.btn-primary:active {
transform: translateY(0) scale(0.98);
}
.btn-secondary {
background: rgba(255, 255, 255, 0.1);
color: var(--ios-text-primary);
border: 1px solid var(--ios-glass-border);
backdrop-filter: blur(10px);
}
.btn-secondary:hover {
background: rgba(255, 255, 255, 0.2);
border-color: rgba(255, 255, 255, 0.3);
transform: translateY(-2px);
}
/* Shine effect on buttons */
.btn::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
45deg,
transparent 30%,
rgba(255, 255, 255, 0.3) 50%,
transparent 70%
);
transform: translateX(-100%) rotate(45deg);
transition: transform 0.6s;
}
.btn:hover::after {
transform: translateX(100%) rotate(45deg);
}
/* Responsive Design */
@media (max-width: 640px) {
.container {
padding: 90px 20px 32px;
gap: 24px;
}
.hero {
padding: 36px 24px;
border-radius: var(--ios-radius-lg);
}
.features {
grid-template-columns: 1fr;
gap: 16px;
}
.feature {
padding: 24px;
flex-direction: row;
text-align: right;
align-items: flex-start;
gap: 20px;
}
.icon {
width: 60px;
height: 60px;
font-size: 28px;
border-radius: 18px;
flex-shrink: 0;
}
.feature h3 {
font-size: 18px;
}
.feature p {
font-size: 14px;
}
.btn {
flex: 1;
min-width: 120px;
padding: 14px 24px;
font-size: 16px;
}
.cta {
width: 100%;
}
}
/* Support for reduced motion */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* Dark mode optimization (already dark, but for system consistency) */
@media (prefers-color-scheme: light) {
:root {
--ios-glass-bg: rgba(255, 255, 255, 0.7);
--ios-text-primary: rgba(0, 0, 0, 0.9);
--ios-text-secondary: rgba(0, 0, 0, 0.5);
--ios-glass-border: rgba(255, 255, 255, 0.5);
}
}
</style>
</head>
<body>
<a href="https://huggingface.co/spaces/akhaliq/anycoder" class="built-with" target="_blank" rel="noopener">
Built with anycoder
</a>
<div class="container">
<div class="hero">
<h1>💬 چت روم ساده</h1>
<p class="subtitle">محلی برای گفتگو با دوستان</p>
</div>
<div class="features">
<div class="feature">
<div class="icon">🔐</div>
<div>
<h3>ثبت‌نام آسان</h3>
<p>با شماره موبایل ثبت‌نام کنید</p>
</div>
</div>
<div class="feature">
<div class="icon">👥</div>
<div>
<h3>ساخت اتاق</h3>
<p>تا ۳ اتاق مختلف بسازید</p>
</div>
</div>
<div class="feature">
<div class="icon">💭</div>
<div>
<h3>چت زنده</h3>
<p>گفتگوی آنلاین و سریع</p>
</div>
</div>
</div>
<div class="cta">
<a href="register.php" class="btn btn-primary">شروع کنید</a>
<a href="login.php" class="btn btn-secondary">ورود</a>
</div>
</div>
<script>
// Add subtle parallax effect on mouse move for desktop
document.addEventListener('mousemove', (e) => {
if (window.innerWidth > 768) {
const features = document.querySelectorAll('.feature');
const mouseX = e.clientX / window.innerWidth - 0.5;
const mouseY = e.clientY / window.innerHeight - 0.5;
features.forEach((feature, index) => {
const speed = (index + 1) * 5;
const x = mouseX * speed;
const y = mouseY * speed;
feature.style.transform = `translate(${x}px, ${y}px)`;
});
}
});
// Reset transform on mouse leave
document.addEventListener('mouseleave', () => {
const features = document.querySelectorAll('.feature');
features.forEach(feature => {
feature.style.transform = '';
});
});
// Add touch feedback for mobile
document.querySelectorAll('.btn, .feature').forEach(el => {
el.addEventListener('touchstart', () => {
el.style.transform = 'scale(0.98)';
});
el.addEventListener('touchend', () => {
el.style.transform = '';
});
});
</script>
</body>
</html>