body {
            background: linear-gradient(135deg, #800026, #8b003a, #5c0041, #3a002d);
            color: #fff;
            font-family: 'Georgia', serif;
            margin: 0;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
        }

        h1 {
            text-align: center;
            text-emphasis: initial;
        }

        .carta-container {
            background-color: rgba(139, 0, 58, 0.85);
            box-shadow: 0 0 30px 10px rgba(255, 0, 80, 0.6);
            border-radius: 25px;
            padding: 50px;
            max-width: 800px;
            position: relative;
            margin-top: 25px;
            margin-bottom: 25px;
            text-align: justify;
        }

        .carta-container {
            border: 2px solid transparent;
            border-image: linear-gradient(45deg, #ff004f, #9f0057, #ff416c) 1;
            box-shadow: 0 0 40px 10px rgba(255, 0, 100, 0.5);
        }

        .carta-container::before {
            content: '❤';
            position: absolute;
            font-size: 120px;
            color: rgba(255, 255, 255, 0.05);
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 0;
        }

        .carta {
            color: #ffe6f0;
            text-shadow: 1px 1px 5px #ff004f;
            font-weight: 600;
            font-size: 1.15rem;
            line-height: 1.25;
        }


        .firma {
            text-align: right;
            margin-top: 30px;
            font-style: italic;
            font-size: 1.2rem;
        }

        @keyframes desvanecer {
            0% {
                opacity: 1;
            }

            100% {
                opacity: 0;
            }
        }

        .mensaje-flotante {
            animation: desvanecer 5s forwards;
        }

        @keyframes backgroundAnim {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            pointer-events: none;
            background: radial-gradient(circle at 20% 30%, rgba(255, 0, 50, 0.15), transparent 70%),
                radial-gradient(circle at 80% 70%, rgba(255, 100, 150, 0.1), transparent 70%);
            animation: sparkleMove 15s linear infinite;
        }

        @keyframes sparkleMove {
            0% {
                background-position: 20% 30%, 80% 70%;
            }

            100% {
                background-position: 80% 70%, 20% 30%;
            }
        }

        .mensaje-flotante {
            position: absolute;
            font-weight: bold;
            font-size: 1.3rem;
            color: #ff2e2e;
            text-shadow:
                0 0 5px #ff2e2e,
                0 0 10px #ff2e2e,
                0 0 20px #ff0000,
                0 0 30px #ff0000,
                0 0 40px #ff0000;
            pointer-events: none;
            animation: flotarCenizas 5s forwards, vibrar 1s infinite alternate;
            user-select: none;
        }

        @keyframes flotarCenizas {
            0% {
                opacity: 1;
                transform: translateY(0) scale(1);
                filter: brightness(1);
            }

            70% {
                opacity: 1;
                filter: brightness(1.2);
            }

            90% {
                opacity: 0.3;
                filter: brightness(0.6);
            }

            100% {
                opacity: 0;
                transform: translateY(-80px) scale(0.8);
                filter: brightness(0.3);
            }
        }

        @keyframes vibrar {
            0% {
                transform: translate(0, 0) scale(1);
            }

            100% {
                transform: translate(2px, -2px) scale(1.02);
            }
        }

        .carta-container::before {
            content: '❤';
            position: absolute;
            font-size: 120px;
            color: rgba(255, 255, 255, 0.05);
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) scale(1);
            z-index: 0;
            animation: latido 2s ease-in-out infinite;
        }

        @keyframes latido {

            0%,
            100% {
                transform: translate(-50%, -50%) scale(1);
                color: rgba(255, 255, 255, 0.05);
            }

            50% {
                transform: translate(-50%, -50%) scale(1.15);
                color: rgba(255, 0, 255, 0.15);
            }
        }

        @keyframes pulsoPasional {

            0%,
            100% {
                box-shadow: 0 0 20px 5px rgba(255, 0, 80, 0.4);
            }

            50% {
                box-shadow: 0 0 40px 15px rgba(255, 0, 80, 0.8);
            }
        }

        .carta-container {
            animation: pulsoPasional 3s ease-in-out infinite;
        }