body {
    margin: 0;
    background: #0a0a0a;
    position: relative;
    overflow: hidden;

    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    text-align: center;
}

/* glowing layer */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;

    background: radial-gradient(circle at center, rgba(255, 105, 180, 0.5), transparent 70%);
    filter: blur(120px);

    animation: pinkGlow 4s ease-in-out infinite alternate;
}

@keyframes pinkGlow {
    0% {
        opacity: 0.4;
        transform: scale(1);
    }
    100% {
        opacity: 0.9;
        transform: scale(1.2);
    }
}

h1 {
    font-size: 4rem;

    background: linear-gradient(
        90deg,
        red,
        orange,
        yellow,
        green,
        cyan,
        blue,
        violet,
        red
    );
    background-size: 300%;

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px black;

    animation: rainbowMove 5s linear infinite;

    text-shadow:
        0 0 10px rgba(255, 0, 255, 0.7),
        0 0 20px rgba(0, 255, 255, 0.7),
        0 0 40px rgba(255, 255, 0, 0.7);
}

@keyframes rainbowMove {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 200%;
    }
}
