body{
    margin: 0;
}

img {
    max-width:100%;
}

.coast-item {
    background: rgb(245, 251, 200);
    width: 100%;
    height: 70%;
    border-radius: 50% 50% 0 0;
    box-shadow: 0 0 50px 30px rgb(13, 23, 30);
    cursor: url('fish1.png') 10 10, auto;
}


/* Background */
.container {
    background: #80c5f2;
    height: 100vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    position: relative;
    overflow: hidden;

    animation: colorChange 10s infinite linear;
}

@keyframes colorChange {
    0%   { background: #80c5f2; }
    25%  { background: #a0e7e5; }
    50%  { background: #cefcd2; }
    75%  { background: #80f0da; }
    100% { background: #80c5f2; } 
}








/* FLOWERS */

.flower, .flower2, .flower3, .flower4, .flower5, .flower6 {
    position: absolute;
    width: 0.8vw;
    height: 0.8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: spin 6s linear infinite;
    transform-origin: center;
    z-index: 5;
}

/* Positions for flowers */
.flower {
    bottom: 5%;
    left: 50%;
}

.flower2 {
    top: 5%;
    right: 50%;
}

.flower3 {
    bottom: 50%;     
    left: 5%; 
}

.flower4 {
    top: 20%;
    left: 20%;
}

.flower5 {
bottom:20%;
right:20%;
}

.flower6 {
    top: 50%;
    right: 10%;
}

/* Petals */
.circle {
    background: #ffc7fa;
    width: 1vw;
    height: 1vw;
    border-radius: 50%;
    position: absolute;
    animation: colorPulse 4s infinite alternate ease-in-out;
}

/* Petal positions */
.circle:nth-child(1) { transform: rotate(0deg)   translateY(-.90vw); }
.circle:nth-child(2) { transform: rotate(60deg)  translateY(-.90vw); }
.circle:nth-child(3) { transform: rotate(120deg) translateY(-.90vw); }
.circle:nth-child(4) { transform: rotate(180deg) translateY(-.90vw); }
.circle:nth-child(5) { transform: rotate(240deg) translateY(-.90vw); }
.circle:nth-child(6) { transform: rotate(300deg) translateY(-.90vw); }

/* Center circle that changes color from yellow to red */
.center {
    background: yellow;
    width: 1.2vw;
    height: 1.2vw;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: centerPulse 3s infinite alternate ease-in-out;
    z-index: 10; /* ensure it’s above petals */
}

/* Base flower spin animation */
@keyframes spin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Flower petal color pulse */
@keyframes colorPulse {
    0% {
        background: #ffc7fa;
        scale: 1;
    }
    50% {
        background: #fff3d1;
        scale: 1.2;
    }
    100% {
        background: #fe94e4;
        scale: 1;
    }
}

/* Center pulse animation: yellow to red */
@keyframes centerPulse {
    0% {
        background: rgb(228, 200, 99);
    }
    100% {
        background: rgb(255, 118, 118);
    }
}

/* Hover animations for fast spins */

/* Flowers 1-3: fast counter-clockwise */
.flower:hover,
.flower2:hover,
.flower3:hover {
    animation: spin-fast-counterclockwise 1.5s linear infinite;
}

/* Flowers 4-6: fast clockwise */
.flower4:hover,
.flower5:hover,
.flower6:hover {
    animation: spin-fast-clockwise 1.5s linear infinite;
}

/* Spin fast clockwise animation */
@keyframes spin-fast-clockwise {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(720deg);
    }
}

/* Spin fast counter-clockwise animation */
@keyframes spin-fast-counterclockwise {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(-720deg);
    }
}













/* FISHES */

.pulse-container {
    position: relative;
    width: 100vw;
    height: 100vh;
    z-index: 0;
}

/* Base pulse animation for all fish (applies to fish1–6) */
.pulse-image {
    position: absolute;
    width: 20vw;
    transform-origin: center;
    animation: pulse 3s infinite alternate ease-in-out;
}


/* Position each fish individually */
.fish1 {
    bottom: 0%;
    left: 0%;
}

.fish2 {
    top: 0%;
    right: 0%;
}

.fish3 {
    bottom: 0%;
    right: 0;
}

.fish4 {
    top: -10%;
    left: 30%;
}

.fish5 {
    top: 70%;
    left: 10%;
}

.fish6 {
    top: -5%;
    left: -3%;
}

/* NEW FISH 7 */
.fish7 {
    bottom: -20%;
    left: 30%;
}

/* NEW FISH 8 */
.fish8 {
    bottom: -10%;
    right: 23%;
}

/* NEW FISH 9 */
.fish9 {
    top: -10%;
    right: 10%;
}


@keyframes pulse {
    0% {
        transform: scale(1);
        filter: brightness(100%);
    }
    50% {
        transform: scale(1.5); 
        filter: brightness(120%);
    }
    100% {
        transform: scale(1);
        filter: brightness(100%);
    }
}
























/* LILYPADS */

.lilypad {
    position: absolute;
    z-index: 4;
    width: 4vw;
    height: 4vw;
    border-radius: 50%;
    background: #235f27;
    animation: lilypadColorPulse 6s infinite alternate ease-in-out;
    transition: transform 1s ease, background 0.3s ease;
}

/* Pause the animation on hover to allow hover color to override */
.lilypad:hover {
    animation-play-state: paused;
    transform: rotate(360deg);
}

/* Pad 1 */
.lilypad1 {
    top: 20%;
    right: 0%;
}
.lilypad1:hover {
    background: #f75dff;
}

/* Pad 2 */
.lilypad2 {
    top: 10%;
    left: 66%;
}
.lilypad2:hover {
    background: #ff563c;
}

/* Pad 3 */
.lilypad3 {
    bottom: 0%;
    left: 10%;
}
.lilypad3:hover {
    background: #ff39ac;
}

/* Pad 4 */
.lilypad4 {
    bottom: 10%;
    right: 0%;
}
.lilypad4:hover {
    background: #53ffa5;
}

/* Pad 5 */
.lilypad5 {
    bottom: 2.5%;
    right: 48%;
}
.lilypad5:hover {
    background: #a9ff53;
}

/* Pad 6 */
.lilypad6 {
    top: 16%;
    left: 18%;
}
.lilypad6:hover {
    background: #53b5ff;
}

/* Pad 7 */
.lilypad7 {
    top: 20%;
    left: 0%;
}
.lilypad7:hover {
    background: #e4ff53;
}

/* Pad 8 */
.lilypad8 {
    top: 45.9%;
    right: 8.8%;
}
.lilypad8:hover {
    background: #ffb653;
}

/* Color Pulse Animation */
@keyframes lilypadColorPulse {
    0% {
        background: #235f27; /* Dark green */
    }
    100% {
        background: #b2f2bb; /* Light pastel green */
    }
}










.wave {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave1 {
  position: absolute;
  bottom: 50px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #78e2df;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave2 {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #50e1dd;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave3 {
  position: absolute;
  bottom: 150px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave4 {
  position: absolute;
  bottom: 200px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #78e2df;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave5 {
  position: absolute;
  bottom: 250px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #50e1dd;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave6 {
  position: absolute;
  bottom: 300px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave7 {
  position: absolute;
  bottom: 350px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #78e2df;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave8 {
  position: absolute;
  bottom: 400px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #50e1dd;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave9 {
  position: absolute;
  bottom: 450px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave10 {
  position: absolute;
  bottom: 500px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #78e2df;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave11 {
  position: absolute;
  bottom: 550px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #50e1dd;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave12 {
  position: absolute;
  bottom: 600px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave13 {
  position: absolute;
  bottom: 650px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #78e2df;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave14 {
  position: absolute;
  bottom: 700px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #50e1dd;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}

.wave15 {
  position: absolute;
  bottom: 750px;
  left: 0;
  width: 100vw; /* full viewport width */
  height: 30px;
  background: #a0e7e5;
  border-radius: 100% 100% 0 0 / 50% 50% 0 0;
  animation: waveVertical 4s ease-in-out infinite;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes waveVertical {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50px); /* wave moves up by 20px */
  }
}













.center-text {
    word-spacing: 1.5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    font-size: 2vw;
    font-family: "liquida", sans-serif;
    font-weight: 200;
    font-style: normal;
    
    color: rgb(0, 85, 31);
    animation: fadegreen 6s infinite ease-in-out;
    
    z-index: 1000;
    text-align: center;
    opacity: 0; /* ensure it starts invisible */
}

@keyframes fadegreen {
    0% {
        opacity: 2;
        color: rgb(22, 93, 148);
    }
    10% {
        opacity: 1;
        color: rgb(85, 118, 207); /* fade in early */
    }
    40% {
        color: rgb(0, 120, 255); /* blue */
    }
    70% {
        color: rgb(146, 56, 207); /* purple */
    }
    100% {
        opacity: 0;
        color: rgb(214, 42, 159); /* fade out at the end */
    }
}