Files
mtg_commander_life_tracker/static/css/pages/tcg/home.css

187 lines
4.2 KiB
CSS

/* Landing Page - Hero Section */
.home-hero {
text-align: center;
padding: 6rem 2rem 4rem;
position: relative;
}
.home-hero::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 900px;
height: 550px;
background: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.12) 0%, transparent 70%);
pointer-events: none;
}
.home-hero-eyebrow {
font-family: 'Cinzel', serif;
font-size: 1.5rem;
color: var(--tcg-accent-purple);
letter-spacing: 0.3em;
text-transform: uppercase;
margin-bottom: 1.5rem;
animation: tcg-fadeIn 0.6s ease both;
}
.home-hero-title {
font-family: 'Cinzel', serif;
font-size: clamp(2.5rem, 6vw, 4.5rem);
font-weight: 700;
background: linear-gradient(135deg, var(--tcg-accent-gold) 30%, var(--tcg-accent-purple));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
letter-spacing: 0.05em;
text-transform: uppercase;
margin: 0 0 1.5rem;
line-height: 1.1;
animation: tcg-fadeInDown 0.8s ease 0.1s both;
}
.home-hero-subtitle {
font-size: clamp(1.1rem, 2vw, 1.4rem);
color: var(--tcg-text-secondary);
max-width: 580px;
margin: 0 auto 3rem;
line-height: 1.7;
animation: tcg-fadeIn 0.8s ease 0.3s both;
}
.home-hero-actions {
display: flex;
gap: 1.25rem;
justify-content: center;
flex-wrap: wrap;
animation: tcg-fadeIn 0.8s ease 0.5s both;
}
/* Divider */
.home-divider {
width: 80px;
height: 3px;
background: linear-gradient(90deg, var(--tcg-accent-purple), var(--tcg-accent-gold));
margin: 0 auto;
border-radius: 2px;
}
/* Features Section */
.home-features {
padding: 2rem 0;
}
.home-features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.5rem;
margin-top: 2.5rem;
}
.home-feature-card {
position: relative;
text-align: center;
}
.home-feature-card:nth-child(1) { animation: tcg-scaleIn 0.6s ease 0.1s both; }
.home-feature-card:nth-child(2) { animation: tcg-scaleIn 0.6s ease 0.25s both; }
.home-feature-card:nth-child(3) { animation: tcg-scaleIn 0.6s ease 0.4s both; }
.home-feature-symbol {
width: 56px;
height: 56px;
margin: 0 auto 1.25rem;
background: linear-gradient(135deg, var(--tcg-accent-purple), var(--tcg-accent-gold));
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Cinzel', serif;
font-size: 1.4rem;
color: var(--tcg-bg-primary);
font-weight: 700;
letter-spacing: 0;
}
.home-feature-card h3 {
font-family: 'Cinzel', serif;
color: var(--tcg-accent-gold);
font-size: 1.05rem;
margin: 0 0 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.home-feature-card p {
color: var(--tcg-text-secondary);
font-size: 1.1rem;
line-height: 1.6;
margin: 0;
}
/* CTA Section */
.home-cta {
text-align: center;
padding: 4rem 2rem;
background: var(--tcg-bg-secondary);
border: 2px solid var(--tcg-border-color);
border-radius: 16px;
margin-top: 1rem;
position: relative;
/* overflow: hidden; */
animation: tcg-fadeIn 0.8s ease 0.6s both;
}
.home-cta::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, rgba(212, 175, 55, 0.06) 0%, transparent 70%);
pointer-events: none;
}
.home-cta-title {
font-family: 'Cinzel', serif;
font-size: clamp(1.4rem, 3vw, 2rem);
color: var(--tcg-text-primary);
margin: 0 0 1rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.home-cta-subtitle {
color: var(--tcg-text-secondary);
font-size: 1.15rem;
margin: 0 auto 2.5rem;
max-width: 500px;
line-height: 1.6;
}
/* Responsive */
@media screen and (max-width: 768px) {
.home-hero {
padding: 3rem 1rem 2rem;
}
.home-hero-actions {
flex-direction: column;
align-items: center;
}
.home-hero-actions .btn-tcg {
width: 100%;
max-width: 280px;
text-align: center;
}
.home-features-grid {
grid-template-columns: 1fr;
}
.home-cta {
padding: 2.5rem 1.5rem;
}
}