body {
    margin: 0;
    overflow: hidden;
    font-family: "Comic Sans MS", Arial, sans-serif;
    background: #87CEFA;
}

/* Sky background */
#sky {
    position: fixed;
    width: 85vw;
    height: 75vh;
    background: linear-gradient(#8ed6ff, #b0eaff, #d6f6ff);
    z-index: -3;
}

/* Clouds */
.cloud {
    position: fixed;
    background: white;
    width: 180px;
    height: 60px;
    border-radius: 50px;
    opacity: 0.8;
    filter: blur(1px);
    animation: moveClouds 30s linear infinite;
}
@keyframes moveClouds {
    from { left: -200px; }
    to   { left: 110%; }
}

/* Bubbles */
.bubble {
    position: fixed;
    background: rgba(255,255,255,0.6);
    border-radius: 50%;
    animation: bubbleUp 10s linear infinite;
}
@keyframes bubbleUp {
    0% { transform: translateY(100vh) scale(0.5); }
    100% { transform: translateY(-10vh) scale(1.3); opacity: 0; }
}

/* Game Area */
#gameArea {
    position: relative;
    width: 85vw;
    height: 75vh;
}

.word {
    position: absolute;
    top: 0;
    font-size: 40px;
    color: #ff37a6;
    font-weight: bold;
    text-shadow: 0 0 8px white;
}

/* Pop animation */
@keyframes pop {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.5); opacity: 0; }
}

/* Input Box */
#inputBox {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 350px;
    padding: 12px;
    font-size: 22px;
    border-radius: 10px;
    border: 3px solid #ff8fe5;
    background: rgba(255,255,255,0.8);
    color: #333;
    outline: none;
    text-align: center;
    box-shadow: 0 0 10px #ffb7f3;
}

/* Score */
#scoreDisplay {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 28px;
    color: #ff2a70;
    font-weight: bold;
}

/* Game Over */
#gameOver {
    position: absolute;
    top: 40%;
    width: 100%;
    text-align: center;
    font-size: 60px;
    font-weight: bold;
    color: #ff4444;
    display: none;
    text-shadow: 0 0 20px white;
}

/* Sparkles */
.sparkle {
    position: absolute;
    width: 8px;
    height: 8px;
    background: radial-gradient(circle, #fff700 0%, #ff00ff 100%);
    border-radius: 50%;
    pointer-events: none;
    opacity: 1;
    animation: sparkleAnim 0.6s forwards;
}

@keyframes sparkleAnim {
    0% { transform: translate(0,0) scale(1); opacity: 1; }
    100% { transform: translate(var(--x), var(--y)) scale(0); opacity: 0; }
}

/* Flying character */
.flying-char {
    position: absolute;
    width: 50px;
    height: 50px;
    pointer-events: none;
    animation: flyAcross 1s forwards;
}
@keyframes flyAcross {
    0% { transform: translate(0,0) scale(1); opacity: 1; }
    90% { transform: translate(300px,-150px) scale(1.2); opacity: 0; }
}