body {
    width: 100%;
    height: 100%;
    background: #19192C;
    /* Dark purple background */
    font-family: 'Press Start 2P', cursive;
    /* Retro pixel font */
}

#boo {
    color: #F4208B;
    /* Neon Pink */
    margin-bottom: 20px;
    text-shadow: 0 0 5px #F4208B, 0 0 10px #F4208B;
}

#boo.hide {
    opacity: 0;
    transition: opacity 0.4s ease;
}

#boo.show {
    opacity: 1;
    transition: opacity 0.4s ease;
}

.switch-container {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.switch {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 25px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #5C2E6D;
    /* Muted Magenta */
    transition: 0.4s;
    box-shadow: 0 0 10px #5C2E6D;
}

input:checked+.slider {
    background-color: #F4208B;
    /* Bright Neon Pink */
    box-shadow: 0 0 15px #F4208B, 0 0 5px #F4208B inset;
}

input:focus+.slider {
    box-shadow: 0 0 1px #F4208B;
}

input:checked+.slider>div {
    transform: translateX(65px);
}

input+.slider>div {
    transition: transform 0.4s;
}

.slider.round {
    border-radius: 34px;
}

.ghost {
    position: absolute;
    left: 0;
    top: -10px;
    width: 40px;
    height: 40px;
    background-color: #14E8DE;
    /* Contrasting Neon Cyan */
    border-radius: 100px;
    animation: bobble 4.3s infinite;
    filter: drop-shadow(0px 5px 12px rgba(20, 232, 222, 0.7));
    /* Cyan Glow */
}

@keyframes bobble {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(15%);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes sway {
    0% {
        transform: translateX(-2px);
    }

    50% {
        transform: translateX(2px);
    }

    100% {
        transform: translateX(-2px);
    }
}

@keyframes sway-more {
    0% {
        transform: translateX(-4px);
    }

    50% {
        transform: translateX(4px);
    }

    100% {
        transform: translateX(-4px);
    }
}

@keyframes blink {
    0% {
        top: 16px;
        height: 8px;
    }

    39% {
        top: 16px;
        height: 8px;
    }

    40% {
        top: 20px;
        height: 2px;
    }

    50% {
        top: 20px;
        height: 2px;
    }

    51% {
        top: 16px;
        height: 8px;
    }

    100% {
        top: 16px;
        height: 8px;
    }
}

.ghost:after {
    content: "";
    position: absolute;
    left: calc(50% - 7px);
    top: 16px;
    width: 10px;
    height: 8px;
    border-right: 3px solid #19192C;
    /* Dark eye color */
    border-left: 3px solid #19192C;
    animation: bobble 2s infinite, sway-more 2s infinite 1s, blink 4.25s infinite;
}

.ghost:before {
    content: "";
    position: absolute;
    top: calc(50% - 6px);
    left: -10%;
    width: 120%;
    height: 12px;
    border-radius: 100px;
    background-color: #14E8DE;
    /* Matching Neon Cyan */
    animation: sway 2s infinite;
}