  
  * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-touch-callout: none !important;
  }

  @font-face {
    font-family: 'PressStart2P';
    src: url('pressStart2.ttf') format('truetype');
}
  
  html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;              /* prevent scrolling */
    touch-action: none;            /* block touch gestures */
    overscroll-behavior: none;     /* block iOS/Android bounce */
    
    user-select: none;             /* block text selection */
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;   /* block long-press menu */
}



.container {
    background: white;
    display: none;
    flex-direction: column;
    align-items: center;  /* horizontal center */
    justify-content: flex-start; /* vertical alignment from top */
    
}

.logo {
    width: clamp(40vw, 70vw, 70vw);
    margin-top: 50px;
    animation: float 2s ease-in-out infinite;

}

@keyframes float {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px); /* how high it floats */
    }
    100% {
      transform: translateY(0);
    }
  }

.gamebox-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
    position: relative;
}

.box {
    width: clamp(150px, 55vw, 300px);
    display: block;
    z-index: 99;



}

.colors {
    display: flex;
    gap: 7px;

    position: absolute;
    top: 37%;
}

.target, .user-set {
    
    width: clamp(30px, 19.2vw, 150px);
    height: clamp(20px, 7.05vh, 70px)
}

.text {
    width: 33vw;
    text-align: center;
    margin-top: 18px;
    margin-bottom: 20px;
}



.slider-bg {
    background-image: url("./assets/satBar.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: clamp(40vw, 60vw, 60vw);
    height: 14vh;
    display: flex;
    align-items: center; /* centers the input vertically */
    justify-content: center; /* optional, centers horizontally */

    position: relative;
    left: -3%;
}






.sat{
    margin-top: 20px;
    transform: rotateX(180deg) rotateY(180deg);
    left: 3%;
}

.hue-range {
    -webkit-appearance: none;  /* remove default styles */
    position: relative;
    width: clamp(100px, 37vw, 150px);
    height: 1.2vh;
    border-radius: 10px;
    background: linear-gradient(to right, 
        red, orange, yellow, green, cyan, blue, violet, red
    );
    outline: none;  /* remove outline when focused */
    touch-action: none;

    position: absolute;
    top:68%;
    left: 22%;
}

.sat-range {
    touch-action: none;
    -webkit-appearance: none;
    position: relative;
    width: clamp(100px, 37vw, 150px);
    height: 1.2vh;
    border-radius: 10px;
    outline: none;
    background: linear-gradient(to right, hsl(0, 3%, 79%),  hsl(0, 100%, 50%)); /* placeholder gradient */
    transform: scaleX(-1); /* unflip the slider logic */

    position: absolute;
    top: 67%;
    left: 23%;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 4.2vw;
    height: 2.2vh;
    background: hotpink;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
}


/* Animation 1 video full-screen */
#video {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: white;
    justify-content: center;
    align-items: center;

    transform: scale(0.5);
}

body.video-active {
    background: white;
    background-color: white;
}

#footerText {
    position: absolute;
    display: block;
    justify-content: center;
    align-items: center;
    bottom: 2%;           /* distance from bottom */
    left: 25%;
    font-family: 'PressStart2P', sans-serif;  /* match your font */
    font-size: 3vw;
    color: rgba(255, 255, 255, 0.8);
    text-shadow: 2px 2px 5px black;   /* glow/shadow for visibility */
    z-index: 9000000;       /* stays above all animations */
    pointer-events: none; /* text won’t block clicks */
    word-spacing: -5px;
    white-space: nowrap;
  }

.play {
    background-color: hotpink;
    color: white;
    position: absolute;
    font-family: 'PressStart2P', sans-serif;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: none;
    padding: 10px 4px;
    font-size: 5vw;
    z-index: 1;
    cursor: pointer;
}

.play:hover {
    box-shadow: none; /* Remove shadow on hover */
    color: black;
}

.play:active{
    color: black;
}


/* ------------------------------------------ DESKTOP ------------------------------------------------------- */
@media (min-width: 768px) {
    .logo {
        width: 30vw;
        margin-top: 40px;
    }

  
    .gamebox-container {
        margin-top: 40px;

    }

    .box {
        width: 20vw
    }

        
    .colors {
        display: flex;
        gap: 7px;

        position: absolute;
        top: 34%;
    }

    .target, .user-set {
        width: 7.4vw;
        height: 10.8vh;
    }

    .text {
        width: 10vw;
    }

    .slider-bg {
        width: 40vw;
        height: 15vh;
        
        position: relative;
        left: -3%;
}






    .sat{
        margin-top: 20px;
        left: 1%;
    }

    .hue-range {
        width: 10vw;
        height: 1.3vh;
        border-radius: 40px;

        top: 73%;
        left: 39%;
    }

    .sat-range {
        width: 10vw;
        height: 1.3vh;
        border-radius: 40px;

        top: 73%;
        left: 39.5%;
    }

    input[type="range"]::-webkit-slider-thumb {

        width: 1vw;
        height: 1.8vh;
        border-radius: 50%;
        cursor: pointer;
        border: 2px solid white;
}
    #footerText {
        font-size: clamp(20px, 1vw, 100px);     /* scales with screen size */
        left: 50%; /* go to the midpoint of the screen */
        transform: translateX(-50%); /* pull back by half its own width */
    }

}

