body {
            font-family: 'Fredoka One', cursive;
            background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
            background-size: 400% 400%;
            animation: gradientBG 15s ease infinite;
            -webkit-user-select: none; user-select: none;
            transition: background 2s ease-in-out;
        }

        body.dusk {
            background: linear-gradient(-45deg, #ff8c00, #ff00ff, #4b0082, #8a2be2);
            background-size: 400% 400%;
        }

        body.night {
            background: linear-gradient(-45deg, #000033, #1a1a1a, #330033, #4d004d);
            background-size: 400% 400%;
        }

        body.dawn {
            background: linear-gradient(-45deg, #ffb6c1, #ff69b4, #ffa500, #add8e6);
            background-size: 400% 400%;
        }
        @keyframes gradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
        .quote-font { font-family: 'Balsamiq Sans', cursive; }

        /* Animations */
        @keyframes fadeInScale { 0% { opacity: 0; transform: scale(0.5) translate(20px, -20px); } 100% { opacity: 1; transform: scale(1) translate(0, 0); } }
        .bubble-animate { animation: fadeInScale 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; }
        @keyframes cow-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
        .cow-bounces { animation: cow-bounce 0.5s ease-in-out; }
        @keyframes udder-wiggle { 0%, 100% { transform: scale(1, 1); } 25% { transform: scale(0.9, 1.1) rotate(-3deg); } 75% { transform: scale(1.1, 0.9) rotate(3deg); } }
        .udder-wiggles { animation: udder-wiggle 0.5s ease-in-out; }

        @keyframes nose-boop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
        .nose-boops { animation: nose-boop 0.3s ease-in-out; }

        @keyframes ear-wiggle { 
    0% { transform: scaleY(1) rotate(0); } 
    50% { transform: scaleY(0.8) rotate(-5deg); } 
    100% { transform: scaleY(1) rotate(0); } 
}
        .ear-wiggles { animation: ear-wiggle 0.5s ease-in-out; }

        .heart { position: absolute; font-size: 32px; color: #ff4d4d; animation: floatUp 3s ease-in-out forwards; opacity: 0; text-shadow: 0 0 10px white, 0 0 5px hotpink; }
        .bubble-love-glow { box-shadow: 0 0 20px 5px hotpink; border-color: hotpink; }
        .bubble-sex-glow { box-shadow: 0 0 30px 10px #8B0000; border-color: #550000; }
        .bubble-wisdom-glow { box-shadow: 0 0 20px 5px #23a6d5; border-color: #23a6d5; }
        .bubble-joke-glow { box-shadow: 0 0 20px 5px #ee7752; border-color: #ee7752; }
        @keyframes floatUp { 0% { transform: translateY(0) scale(1); opacity: 1; } 100% { transform: translateY(-200px) scale(0.5) rotate(360deg); opacity: 0; } }
        
        #baker-animation-container.active { animation: baker-pop-in 2.5s ease-in-out forwards; }
        @keyframes baker-pop-in { 0% { opacity: 0; transform: scale(0.5) rotate(-15deg); } 20% { opacity: 1; transform: scale(1.1) rotate(-15deg); } 80% { opacity: 1; transform: scale(1) rotate(-15deg); } 100% { opacity: 0; transform: scale(0.5) rotate(-15deg); } }
        #baker-no-sign-circle, #baker-no-sign-line { stroke: red; stroke-width: 12; stroke-linecap: round; animation: draw-no-sign 0.5s 0.3s ease-in-out forwards; stroke-dasharray: 283; stroke-dashoffset: 283; }
        @keyframes draw-no-sign { to { stroke-dashoffset: 0; } }

        .pet-heart { position: absolute; font-size: 24px; color: hotpink; animation: pet-float 1s ease-out forwards; pointer-events: none; }
        @keyframes pet-float { 0% { transform: translateY(0) scale(0.5); opacity: 1; } 100% { transform: translateY(-50px) scale(1.5); opacity: 0; } }

        #cow-crown {
            opacity: 0;
            transition: opacity 0.5s ease-in-out 0.5s;
            pointer-events: none;
        }
        #cow-crown.visible {
            opacity: 1;
            filter: drop-shadow(0px 1px 4px rgba(255, 223, 0, 0.8));
        }

        /* UI Elements */
        .modal { position: fixed; inset: 0; background-color: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; z-index: 50; transition: opacity 0.3s; }
        .modal.hidden { opacity: 0; pointer-events: none; }
        .achievement-item, .stat-item { display: flex; align-items: center; gap: 1rem; padding: 0.75rem; border-radius: 0.5rem; }
        .achievement-item { background: #f0f0f0; }
        .achievement-item.unlocked { background: #d4edda; border-left: 5px solid #28a745; }
        .achievement-item .icon, .stat-item .icon { font-size: 2rem; }
        .achievement-item .text h3, .stat-item .text h3 { margin: 0; font-size: 1.1rem; }
        .achievement-item .text p, .stat-item .text p { margin: 0; font-size: 0.9rem; color: #555; }
        
        @keyframes toast-in {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        @keyframes toast-out {
            from { transform: translateX(0); opacity: 1; }
            to { transform: translateX(100%); opacity: 0; }
        }
        .toast-animate-in { animation: toast-in 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; }
        .toast-animate-out { animation: toast-out 0.5s ease-out forwards; }

.golden-shine {
    filter: drop-shadow(0 0 5px rgba(255, 215, 0, 0.8)) drop-shadow(0 0 10px rgba(255, 215, 0, 0.4));
}

.golden-glitter-animation {
    animation: glitter 2s infinite alternate;
}

@keyframes glitter {
    0% { fill: #FFD700; } /* Gold */
    50% { fill: #FFEA00; } /* Lighter Gold */
    100% { fill: #FFD700; }
}

.modal-content-bg {
    background-color: rgba(255, 255, 255, 0.8);
}
