.glitch-bg {
    background: linear-gradient(-45deg, #020617, #312e81, #0f172a, #4c1d95);
    background-size: 400% 400%;
    animation: bg-gradient 10s ease infinite;
    padding: 100px 20px;
    text-align: center;
    border-bottom: 2px solid rgba(236, 72, 153, 0.5);
}

@keyframes bg-gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.glitch-title {
    font-family: 'Outfit', sans-serif;
    font-size: 5rem;
    font-weight: 900;
    color: #fff;
    position: relative;
    display: inline-block;
    text-shadow: 0 0 20px rgba(236, 72, 153, 0.6);
    margin-bottom: 10px;
}

.glitch-title::before, .glitch-title::after {
    content: attr(data-text);
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: transparent;
}

.glitch-title::before {
    left: 4px;
    text-shadow: -2px 0 #ff00c1;
    animation: glitch-anim-1 2s infinite linear alternate-reverse;
}

.glitch-title::after {
    left: -4px;
    text-shadow: 2px 0 #00fff9;
    animation: glitch-anim-2 3s infinite linear alternate-reverse;
}

@keyframes glitch-anim-1 {
    0% { clip-path: inset(20% 0 80% 0); transform: translate(-2px, 1px); }
    20% { clip-path: inset(60% 0 10% 0); transform: translate(2px, -1px); }
    40% { clip-path: inset(40% 0 50% 0); transform: translate(1px, 2px); }
    60% { clip-path: inset(80% 0 5% 0); transform: translate(-1px, -2px); }
    80% { clip-path: inset(10% 0 70% 0); transform: translate(2px, 2px); }
    100% { clip-path: inset(30% 0 50% 0); transform: translate(-2px, -1px); }
}

@keyframes glitch-anim-2 {
    0% { clip-path: inset(10% 0 60% 0); transform: translate(2px, -1px); }
    20% { clip-path: inset(30% 0 20% 0); transform: translate(-2px, 2px); }
    40% { clip-path: inset(70% 0 10% 0); transform: translate(1px, -2px); }
    60% { clip-path: inset(20% 0 50% 0); transform: translate(-1px, 1px); }
    80% { clip-path: inset(50% 0 30% 0); transform: translate(2px, -1px); }
    100% { clip-path: inset(5% 0 80% 0); transform: translate(-2px, 2px); }
}

.subtitle {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.5rem;
    color: #cbd5e1;
    letter-spacing: 5px;
    margin-bottom: 40px;
}

.play-large-btn {
    font-size: 1.5rem;
    padding: 20px 40px;
    border-radius: 40px;
    box-shadow: 0 10px 30px rgba(59, 130, 246, 0.5);
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
}

.lp-content {
    max-width: 900px;
    margin: -40px auto 100px;
    padding: 0 20px;
    position: relative;
    z-index: 10;
}

.glass-card {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.details-section h2, .ranking-section h2 {
    font-size: 2rem;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 0 0 10px rgba(255,255,255,0.3);
    border-bottom: 2px solid rgba(255,255,255,0.1);
    padding-bottom: 10px;
}

.features {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}

.feature-box {
    flex: 1;
    background: rgba(0,0,0,0.3);
    padding: 20px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.05);
}

.feature-box h3 {
    color: #f472b6;
    margin-bottom: 10px;
}

.ranking-desc {
    color: #94a3b8;
    margin-bottom: 20px;
    text-align: center;
}

@media (max-width: 768px) {
    .features {
        flex-direction: column;
    }
    .glitch-title {
        font-size: 3rem;
    }
}
