
.scene {
    position: relative;
    width: 450px;
    height: 250px;
}

.title {
    position: absolute;
    top: 30px;
    left: 50px;
    font-family: 'Fredoka One', cursive;
    font-size: 24px;
    color: black;
    line-height: 1;
    text-shadow: 2px 2px 0px rgba(22, 22, 22, 0.1);
    animation: text-pop-in 1s 0.5s ease-out forwards;
    opacity: 0;
}

.title span {
    display: block;
}

@keyframes text-pop-in {
    0% { transform: scale(0.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.teeth-row {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.tooth-character {
    width: 60px;
    height: 70px;
    background: white;
    border-radius: 50% 50% 15px 15px / 80% 80% 15px 15px;
    position: relative;
    box-shadow: 0 5px 15px rgba(12, 0, 0, 0.1);
    animation: tooth-bob 3s infinite ease-in-out;
}

.tooth-character:nth-child(2) { animation-delay: 0.2s; }
.tooth-character:nth-child(3) { animation-delay: 0.4s; }

@keyframes tooth-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* Face */
.face {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.eyes {
    display: flex;
    gap: 15px;
    margin-top: -20px;
}
.eye {
    width: 8px;
    height: 8px;
    background: #546E7A;
    border-radius: 50%;
}

/* Wink Animation */
.winking .eye:first-child {
    animation: wink-anim 3s infinite ease-in-out;
    animation-delay: 0.8s;
}

@keyframes wink-anim {
    0%, 40%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(0.1); }
}

/* Blush */
.blush {
    position: absolute;
    width: 12px;
    height: 6px;
    background: #FFCDD2;
    border-radius: 50%;
    top: 40px;
}
.blush.left { left: 8px; }
.blush.right { right: 8px; }


/* Toothbrush */
.toothbrush-container {
    position: absolute;
    top: 80px;
    left: 0; /* Changed */
    width: 300px;
    animation: brush-sweep 4s infinite ease-in-out;
}

@keyframes brush-sweep {
    0%, 100% { transform: translateX(100px); } /* Changed */
    50% { transform: translateX(0px); } /* Changed */
}

.toothbrush {
    width: 100%;
    height: 25px;
    background: #657ef1;
    border-radius: 12px;
    position: relative;
    box-shadow: 0 3px 10px rgba(98, 160, 241, 0.15);
}
.bristles {
    position: absolute;
    bottom: -15px;
    left: 20px;
    width: 80px;
    height: 20px;
    background: white;
    border-radius: 10px;
}

/* Bubbles */
.bubble {
    position: absolute;
    background: white;
    border-radius: 50%;
    opacity: 0;
    animation: float-up 1s ease-out;
}

@keyframes float-up {
    0% { transform: scale(0.5); opacity: 1; }
    100% { transform: scale(1) translateY(-40px); opacity: 0; }
}
