* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Comic Sans MS';
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    overflow: hidden; /* Prevent scrollbars */
    background: linear-gradient(45deg, #0049bd, #ffffff, #0049bd, #ffffff);
    background-size: 400% 400%;
    animation: bgAnimate 10s infinite;
}

@keyframes bgAnimate {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Top Menu Styles */
#menu {
    position: fixed;
    top: 10px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px 20px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    z-index: 100;
}

#volume-controls, #social-buttons {
    display: flex;
    align-items: center;
}

#volume-controls label,
#social-buttons a {
    margin-right: 10px;
    color: #ffdd57;
    text-decoration: none;
}

#social-buttons a:hover {
    color: #ff5722;
}

/* Container and Animation Styles */
.container {
    text-align: center;
    border: 10px solid;
    border-image: linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000) 1;
    padding: 20px;
    animation: borderRainbow 3s infinite;
}

@keyframes borderRainbow {
    0% { border-color: #ff0000; }
    50% { border-color: #00ff00; }
    100% { border-color: #ff0000; }
}

.controls {
    margin-bottom: 20px;
    position: relative;
    animation: controlsWobble 3s infinite;
}

@keyframes controlsWobble {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.meme-button {
    display: block;
    margin: 10px auto;
    padding: 10px 20px;
    font-size: 18px;
    color: #fff;
    background: #0049bd;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    animation: buttonBounce 1s infinite alternate;
}

@keyframes buttonBounce {
    0% { transform: translateY(0); }
    100% { transform: translateY(-5px); }
}

.animated-text {
    font-size: 20px;
    color: #fff;
    animation: textFlash 1.5s infinite alternate;
}

@keyframes textFlash {
    0% { color: #ff0000; }
    100% { color: #0000ff; }
}

#previewCanvas {
    border: 5px dashed;
    width: 100%;
    max-width: 1500px;
    margin-top: 20px;
}
