feat(audio,site): calm santoor default music + card-fan logo site redesign
- audio: default background music is now the santoor track (calm Persian), rebuilt as a real plucked-santoor loop — fast metallic attack, shimmer overtones, soft tonic drone, longer Dastgah-e-Shur phrase - site: marketing logo is now the app's card-fan icon (Logo.tsx + icon.svg); hero features the big logo with gold halo, floating suit motifs, and polished section dividers Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,3 +78,37 @@ body {
|
||||
linear-gradient(-45deg, rgba(212, 175, 55, 0.04) 25%, transparent 25%);
|
||||
background-size: 22px 22px;
|
||||
}
|
||||
|
||||
/* Gentle float for the hero logo. */
|
||||
@keyframes float-y {
|
||||
0%, 100% { transform: translateY(0); }
|
||||
50% { transform: translateY(-12px); }
|
||||
}
|
||||
.float-y {
|
||||
animation: float-y 5.5s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* Soft gold halo behind the hero logo. */
|
||||
.gold-halo {
|
||||
background: radial-gradient(circle, rgba(212, 175, 55, 0.28), transparent 62%);
|
||||
filter: blur(8px);
|
||||
}
|
||||
|
||||
/* Card-suit accent for hero/section glyphs. */
|
||||
.suit {
|
||||
color: var(--gold);
|
||||
opacity: 0.16;
|
||||
user-select: none;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/* Thin gold hairline divider. */
|
||||
.rule-gold {
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.float-y { animation: none; }
|
||||
html { scroll-behavior: auto; }
|
||||
}
|
||||
|
||||
+21
-2
@@ -2,6 +2,7 @@ import {
|
||||
Users, Bot, Trophy, Gift, MessageCircle, Globe, ShieldCheck, Zap, Crown, Star,
|
||||
} from "lucide-react";
|
||||
import { DownloadButtons } from "@/components/DownloadButtons";
|
||||
import { Logo } from "@/components/Logo";
|
||||
import { BRAND } from "@/lib/site";
|
||||
|
||||
const FEATURES = [
|
||||
@@ -29,8 +30,22 @@ export default function Home() {
|
||||
return (
|
||||
<>
|
||||
{/* Hero */}
|
||||
<section className="felt card-pattern">
|
||||
<section className="felt card-pattern relative overflow-hidden">
|
||||
{/* decorative card suits floating in the backdrop */}
|
||||
<span className="suit pointer-events-none absolute right-[6%] top-16 text-8xl">♠</span>
|
||||
<span className="suit pointer-events-none absolute left-[8%] top-40 text-7xl">♥</span>
|
||||
<span className="suit pointer-events-none absolute left-[14%] bottom-12 text-6xl">♦</span>
|
||||
<span className="suit pointer-events-none absolute right-[12%] bottom-20 text-7xl">♣</span>
|
||||
|
||||
<div className="mx-auto max-w-6xl px-4 py-16 text-center sm:py-24">
|
||||
{/* card-fan brand mark */}
|
||||
<div className="relative mx-auto mb-8 grid h-40 w-40 place-items-center sm:h-48 sm:w-48">
|
||||
<div className="gold-halo absolute inset-0 rounded-full" />
|
||||
<div className="float-y relative">
|
||||
<Logo size={160} glow />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span className="inline-flex items-center gap-1.5 rounded-full glass px-3 py-1 text-xs text-gold-soft">
|
||||
<Star size={13} /> بازی حکمِ ایرانی، حرفهایتر از همیشه
|
||||
</span>
|
||||
@@ -48,7 +63,7 @@ export default function Home() {
|
||||
|
||||
<div className="mx-auto mt-12 grid max-w-3xl gap-3 sm:grid-cols-3">
|
||||
{STATS.map((s) => (
|
||||
<div key={s.label} className="glass rounded-2xl px-4 py-4">
|
||||
<div key={s.label} className="glass rounded-2xl px-4 py-4 transition hover:border-gold/40">
|
||||
<s.icon className="mx-auto text-teal" size={22} />
|
||||
<div className="mt-2 text-sm font-bold text-cream">{s.label}</div>
|
||||
<div className="text-xs text-cream/55">{s.value}</div>
|
||||
@@ -66,6 +81,7 @@ export default function Home() {
|
||||
<p className="mx-auto mt-3 max-w-xl text-center text-cream/60">
|
||||
همهٔ چیزی که یک بازی حکم بینقص لازم دارد، در یک اپ.
|
||||
</p>
|
||||
<div className="rule-gold mx-auto mt-6 max-w-xs" />
|
||||
<div className="mt-10 grid gap-5 sm:grid-cols-2 lg:grid-cols-3">
|
||||
{FEATURES.map((f) => (
|
||||
<div key={f.title} className="glass rounded-2xl p-6 transition hover:border-gold/40">
|
||||
@@ -97,6 +113,9 @@ export default function Home() {
|
||||
|
||||
{/* Final CTA */}
|
||||
<section className="mx-auto max-w-4xl px-4 py-16 text-center">
|
||||
<div className="mx-auto mb-6 w-fit">
|
||||
<Logo size={64} glow />
|
||||
</div>
|
||||
<h2 className="text-3xl font-black sm:text-4xl">
|
||||
همین حالا <span className="gold-text">حکم</span> را شروع کن
|
||||
</h2>
|
||||
|
||||
Reference in New Issue
Block a user