/* styles.css */

@import url('https://fonts.googleapis.com/css2?family=Comic+Neue:wght@700&display=swap');

body {
    margin: 0;
    height: 100vh;
    overflow: hidden;

    display: flex;
    justify-content: center;
    align-items: center;

    background: linear-gradient(
        135deg,
        #ff00ff,
        #00ffff,
        #ffff00
    );

    background-size: 400% 400%;
    animation: bgMove 8s infinite alternate;

    font-family: 'Comic Neue', cursive;

    cursor: url("https://cur.cursors-4u.net/smilies/smi-3/smi258.cur"), auto;
}

/* DVD LOGO */

.dvd-logo {
    position: fixed;

    left: 100px;
    top: 100px;

    font-size: 2rem;
    font-weight: bold;

    color: white;

    z-index: 999;
}

/* Floating background text */

.background-text {
    position: absolute;
    font-size: 10rem;
    opacity: 0.08;
    font-weight: bold;
    white-space: nowrap;

    animation: drift 20s linear infinite;
}

.container {
    text-align: center;
    z-index: 2;
}

.title {
    font-size: 3rem;
    color: white;

    text-shadow:
        0 0 10px hotpink,
        0 0 20px cyan,
        0 0 30px yellow;

    animation: shake 0.5s infinite alternate;
}

.subtitle {
    color: white;
    font-size: 1.3rem;
    margin-top: 20px;
}

/* The spinning image */

.spinning-image {
    width: 300px;
    margin-top: 30px;

    border-radius: 25px;

    box-shadow:
        0 0 20px white,
        0 0 50px hotpink;

    animation:
        ySpin 2s linear infinite,
        bounce 1.5s ease-in-out infinite;

    transform-style: preserve-3d;
}

/* Funny button */

.chaos-button {
    margin-top: 30px;
    padding: 15px 30px;

    font-size: 1.2rem;
    font-weight: bold;

    border: none;
    border-radius: 999px;

    background: yellow;
    color: black;

    cursor: pointer;

    transition: all 0.2s ease;
}

/* VIRUS POPUP */

.virus-popup {
    position: fixed;

    right: 30px;
    bottom: 30px;

    width: 320px;

    background: white;

    border: 4px solid red;

    box-shadow:
        0 0 20px red,
        0 0 40px black;

    z-index: 1000;

    animation: popupShake 0.15s infinite alternate;
}

.virus-header {
    background: red;
    color: white;

    padding: 12px;

    font-weight: bold;
    font-size: 1.1rem;
}

.virus-body {
    padding: 20px;
    text-align: center;

    color: black;
}

.virus-body button {
    margin-top: 15px;

    padding: 10px 16px;

    border: none;

    background: black;
    color: white;

    font-weight: bold;

    cursor: pointer;
}

/* Y-axis rotation */

@keyframes ySpin {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

/* Bouncing */

@keyframes bounce {
    0%, 100% {
        translate: 0 0;
    }

    50% {
        translate: 0 -20px;
    }
}

/* Background movement */

@keyframes bgMove {
    0% {
        background-position: left;
    }

    100% {
        background-position: right;
    }
}

/* Floating text movement */

@keyframes drift {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(100%);
    }
}

/* Shaky title */

@keyframes shake {
    from {
        transform: rotate(-2deg);
    }

    to {
        transform: rotate(2deg);
    }
}

/* Popup shake */

@keyframes popupShake {
    from {
        transform: translateX(-2px);
    }

    to {
        transform: translateX(2px);
    }
}

.rainbow-text {
    background: linear-gradient(
        90deg,
        red,
        orange,
        yellow,
        lime,
        cyan,
        blue,
        violet,
        red
    );

    background-size: 400%;

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    animation: rainbowMove 4s linear infinite;
}

@keyframes rainbowMove {
    from {
        background-position: 0%;
    }

    to {
        background-position: 400%;
    }
}