        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .bg-decoration {
            position: absolute;
            z-index: 1;
            pointer-events: none;
            font-size: var(--size, 2rem);
            animation: var(--anim, float) 4s ease-in-out infinite;
            top: var(--top);
            left: var(--left);
            right: var(--right);
            bottom: var(--bottom);
            color: #ff69b4;
            opacity: 0.9;
        }

        body {
            font-family: 'Comic Sans MS', cursive, sans-serif;
            background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 25%, #fecfef 75%, #fad0c4 100%);
            min-height: 100vh;
            overflow-x: hidden;
            position: relative;
        }

        .bg-decoration {
            position: absolute;
            z-index: 1;
            pointer-events: none;
        }


        @keyframes float {
            0% {
                transform: translateY(0px) rotate(0deg);
            }

            50% {
                transform: translateY(-20px) rotate(5deg);
            }

            100% {
                transform: translateY(0px) rotate(0deg);
            }
        }

        @keyframes sparkle {
            0% {
                transform: scale(1) rotate(0deg);
                opacity: 0.7;
            }

            50% {
                transform: scale(1.3) rotate(180deg);
                opacity: 1;
            }

            100% {
                transform: scale(1) rotate(0deg);
                opacity: 0.7;
            }
        }

        @keyframes flutter {
            0% {
                transform: translateX(0px) translateY(0px);
            }

            25% {
                transform: translateX(10px) translateY(-10px);
            }

            50% {
                transform: translateX(-5px) translateY(-5px);
            }

            75% {
                transform: translateX(5px) translateY(-15px);
            }

            100% {
                transform: translateX(0px) translateY(0px);
            }
        }

        .container {
            position: relative;
            z-index: 77;
            max-width: 1200px;
            margin: 0 auto;
            padding: 2rem;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .header {
            text-align: center;
            margin-bottom: 3rem;
            animation: bounceIn 1s ease-out;
        }

        .title {
            font-size: 3.5rem;
            font-weight: bold;
            background: linear-gradient(45deg, #ff69b4, #ff1493, #da70d6, #ff69b4);
            background-size: 400% 400%;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: gradientShift 3s ease infinite;
            text-shadow: 2px 2px 4px rgba(255, 105, 180, 0.3);
            margin-bottom: 1rem;
            text-align: center;
        }

        .subtitle {
            font-size: 1.5rem;
            color: #d63384;
            font-weight: 600;
            text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
        }

        @keyframes gradientShift {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        @keyframes bounceIn {
            0% {
                transform: scale(0.3);
                opacity: 0;
            }

            50% {
                transform: scale(1.05);
            }

            70% {
                transform: scale(0.9);
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }

        .countdown-container {
            gap: 2rem;
            width: 100%;
            max-width: 800px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-around;
        }

        .countdown-box {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 182, 193, 0.8));
            border-radius: 25px;
            padding: 0 10px;
            display: flex;
            align-items: center;
            justify-content: space-around;
            width: 270px;
            box-shadow: 0 8px 32px rgba(255, 105, 180, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(10px);
            border: 2px solid rgba(255, 105, 180, 0.2);
            position: relative;
            overflow: hidden;
            transition: all 0.3s ease;
            animation: slideUp 0.8s ease-out;
        }

        .countdown-box:nth-child(1) {
            animation-delay: 0.1s;
        }

        .countdown-box:nth-child(2) {
            animation-delay: 0.2s;
        }

        .countdown-box:nth-child(3) {
            animation-delay: 0.3s;
        }

        .countdown-box:nth-child(4) {
            animation-delay: 0.4s;
        }

        @keyframes slideUp {
            0% {
                transform: translateY(50px);
                opacity: 0;
            }

            100% {
                transform: translateY(0);
                opacity: 1;
            }
        }

        .countdown-box:hover {
            transform: translateY(-10px) scale(1.05);
            box-shadow: 0 15px 40px rgba(255, 105, 180, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.9);
        }

        .countdown-box::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
            transition: left 0.7s;
        }

        .countdown-box:hover::before {
            left: 100%;
        }

        .time-number {
            font-size: 4rem;
            font-weight: bold;
            color: #d63384;
            text-shadow: 2px 2px 4px rgba(255, 105, 180, 0.3);
            margin-bottom: 0.5rem;
            position: relative;
            z-index: 2;
            animation: pulse 2s ease-in-out infinite;
        }

        .seconds .time-number {
            animation: fastPulse 1s ease-in-out infinite;
        }

        @keyframes pulse {
            0% {
                transform: scale(1);
            }

            50% {
                transform: scale(1.05);
            }

            100% {
                transform: scale(1);
            }
        }

        @keyframes fastPulse {
            0% {
                transform: scale(1);
                color: #d63384;
            }

            50% {
                transform: scale(1.1);
                color: #ff1493;
            }

            100% {
                transform: scale(1);
                color: #d63384;
            }
        }

        .time-label {
            font-size: 1.2rem;
            font-weight: 600;
            color: #b02a5b;
            text-transform: uppercase;
            letter-spacing: 2px;
            position: relative;
            z-index: 2;
        }

        .emoji {
            font-size: 2rem;
            margin-top: 0.5rem;
            animation: bounce 2s ease-in-out infinite;
        }

        @keyframes bounce {
            0% {
                transform: translateY(0);
            }

            20% {
                transform: translateY(0);
            }

            40% {
                transform: translateY(-10px);
            }

            50% {
                transform: translateY(0);
            }

            60% {
                transform: translateY(-5px);
            }

            80% {
                transform: translateY(0);
            }

            100% {
                transform: translateY(0);
            }
        }

        .birthday-message {
            background: linear-gradient(135deg, #ff69b4, #ff1493);
            color: white;
            padding: 2rem;
            border-radius: 25px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(255, 105, 180, 0.4);
            animation: celebration 2s ease-in-out infinite;
            display: none;
        }

        .birthday-message.show {
            display: block;
        }

        @keyframes celebration {
            0% {
                transform: scale(1);
            }

            50% {
                transform: scale(1.02);
            }

            100% {
                transform: scale(1);
            }
        }

        .celebration-emojis {
            font-size: 3rem;
            margin: 1rem 0;
            animation: dance 1s ease-in-out infinite;
        }

        @keyframes dance {
            0% {
                transform: rotate(0deg);
            }

            25% {
                transform: rotate(5deg);
            }

            75% {
                transform: rotate(-5deg);
            }

            100% {
                transform: rotate(0deg);
            }
        }

        @media (max-width: 768px) {
            .container {
                padding: 1rem;
            }

            .title {
                font-size: 2.5rem;
            }

            .subtitle {
                font-size: 1.2rem;
            }

            .countdown-container {
                grid-template-columns: repeat(2, 1fr);
                gap: 1rem;
            }

            .countdown-box {
                padding: 1.5rem 0.5rem;
            }

            .time-number {
                font-size: 3rem;
            }

            .time-label {
                font-size: 1rem;
                letter-spacing: 1px;
            }

            .bg-decoration {
                font-size: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .title {
                font-size: 2rem;
            }

            .countdown-container {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .time-number {
                font-size: 2.5rem;
            }
        }