:root {
    --bg: #050716;
    --panel: #0b1028;
    --neon-pink: #ff2bd6;
    --neon-blue: #00d9ff;
    --neon-purple: #8b5cf6;
    --text: #f8fbff;
    --muted: #9aa4c7;
    --bg-image: none;

}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    font-family: Inter, system-ui, sans-serif;
    background:
            linear-gradient(90deg, rgba(5,7,22,.96), rgba(5,7,22,.78), rgba(5,7,22,.92)),
            radial-gradient(circle at 20% 15%, rgba(255,43,214,.35), transparent 35%),
            radial-gradient(circle at 85% 10%, rgba(0,217,255,.25), transparent 32%),
            var(--bg-image),
            #050716;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    transition: background-image .35s ease;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
            linear-gradient(rgba(0,217,255,.06) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,43,214,.05) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background: var(--bg-image);
    background-size: cover;
    background-position: center;
    filter: blur(14px) saturate(1.25) brightness(.65);
    transform: scale(1.08);
    animation: backgroundMove 18s ease-in-out infinite alternate;
}

@keyframes backgroundMove {
    from {
        background-position: center center;
        transform: scale(1.08);
    }
    to {
        background-position: 62% 42%;
        transform: scale(1.16);
    }
}

/* HEADER */
h1 {
    position: sticky;
    top: 0;
    z-index: 10;
    margin: 0;
    padding: 24px 34px;
    font-size: clamp(32px, 4vw, 52px);
    text-transform: uppercase;
    backdrop-filter: blur(20px);
    background: rgba(5,7,22,.65);
    border-bottom: 1px solid rgba(255,43,214,.2);

    background-image: linear-gradient(90deg, var(--neon-blue), var(--neon-pink), var(--neon-purple));
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 0 25px rgba(255,43,214,.45);
}

/* GRID */
.grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 40px;
    padding: 40px 80px;
}

/* CARD */
.card {
    position: relative;
    cursor: pointer;
    padding: 12px;
    border: 1px solid rgba(0,217,255,.18);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    box-shadow:
            0 0 0 1px rgba(255,43,214,.08),
            0 25px 70px rgba(0,0,0,.55);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.card:hover {
    transform: translateY(-12px) scale(1.06);
    border-color: var(--neon-pink);
    box-shadow:
            0 0 35px rgba(255,43,214,.4),
            0 0 60px rgba(0,217,255,.2),
            0 40px 100px rgba(0,0,0,.75);
}

.card img {
    width: 100%;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 18px;
}

.card::after {
    content: "▶";
    position: absolute;
    top: 45%;
    left: 50%;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%) scale(.8);
    border-radius: 50%;
    font-size: 30px;
    background: linear-gradient(135deg, var(--neon-pink), var(--neon-blue));
    box-shadow: 0 0 35px rgba(255,43,214,.75);
    opacity: 0;
    transition: .22s ease;
}

.card:hover::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.card h3 {
    margin: 14px 4px 4px;
    font-size: 18px;
    text-shadow: 0 0 14px rgba(0,217,255,.35);
}

/* PLAYER MODAL */
.player-modal {
    position: fixed;
    inset: 0;
    display: none;
    place-items: center;
    padding: 30px;
    background: rgba(2, 3, 10, .88);
    backdrop-filter: blur(18px);
    z-index: 999;
}

.player-modal.active {
    display: grid;
}

.player-modal video {
    width: min(1100px, 94vw);
    max-height: 78vh;
    border-radius: 24px;
    border: 1px solid rgba(255,43,214,.35);
    box-shadow:
            0 0 35px rgba(255,43,214,.22),
            0 0 70px rgba(0,217,255,.12);
}

.close-player {
    position: fixed;
    top: 24px;
    right: 28px;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255,43,214,.55);
    border-radius: 50%;
    color: white;
    font-size: 34px;
    background: rgba(10, 12, 32, .8);
    cursor: pointer;
    box-shadow: 0 0 30px rgba(255,43,214,.35);
}

.close-player:hover {
    background: var(--neon-pink);
}