body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: radial-gradient(
        circle at center,
        #fff8fb 0%,
        #fff1f6 35%,
        #ffe4ef 70%,
        #ffd6e8 100%
    );
    /* font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; */
    font-family: 'Quicksand', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
}

#particles-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.container {
    z-index: 2;
    text-align: center;
    max-width: 600px;
    padding: 20px;
}

.main-icon {
    font-size: 80px;
    margin-bottom: 20px;
    filter: drop-shadow(0 0 10px rgba(255, 20, 147, 0.3));
}

h2 {
    color: #ff4d94; 
    font-weight: 600;
    margin-bottom: 10px;
    text-shadow: 0 0 5px rgba(255, 77, 148, 0.2);
}

h1 {
    color: #db2777;
    font-size: 2.2rem;
    margin-bottom: 40px;
    font-weight: 700;
}

.buttons-wrapper {
    position: relative;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    height: 120px;
}

button {
    padding: 14px 38px;
    font-size: 1.125rem;
    font-weight: 700;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    white-space: nowrap;
    user-select: none;
}

#yesBtn {
    background: linear-gradient(to right, #ec4899, #ef4444);
    color: white;
    z-index: 10;
    box-shadow: 0 10px 15px -3px rgba(249, 168, 212, 0.5), 
                0 4px 6px -4px rgba(249, 168, 212, 0.5);
}

#yesBtn:hover {
    transform: scale(1.1);
    filter: brightness(1.1);
}

#noBtn {
    background-color: #e5e7eb;
    color: #4b5563;
    border: 1px solid #d1d5db;
    z-index: 10;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 
                0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.sub-text {
    margin-top: 80px;
    color: #f472b6;
    font-weight: 400;
    font-size: 0.9rem;
    min-height: 28px;
    position: relative;
    z-index: 25;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.particle {
    position: absolute;
    left: 0;
    top: 110vh;
    color: #ff85a2;
    opacity: 0.5;
    animation: float 8s infinite linear;
    filter: drop-shadow(0 0 5px rgba(255, 133, 162, 0.5));
    pointer-events: none;
}

@keyframes float {
    0% { 
        transform: translateY(0) rotate(0deg) scale(0.5); 
        opacity: 0; 
    }
    10% { 
        opacity: 0.7; 
    }
    90% {
        opacity: 0.7;
    }
    100% { 
        /* Bay ngược lên trên qua khỏi đỉnh màn hình */
        transform: translateY(-120vh) rotate(360deg) scale(1.2); 
        opacity: 0; 
    }
}

/* --- HIỆU ỨNG MỚI KHI BẤM YES --- */
@keyframes heartBeat {
    0% { transform: scale(1); }
    15% { transform: scale(1.3); }
    30% { transform: scale(1); }
    45% { transform: scale(1.15); }
    60% { transform: scale(1); }
}

.heart-beat {
    display: inline-block;
    animation: heartBeat 1.2s infinite;
    color: #ef4444;
}

.confetti-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 100;
}

.confetti {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 15px;
    height: 15px;
    opacity: 0;
    border-radius: 50%;
    transform-origin: center;
}

@keyframes confettiExplode {
    0% {
        transform: translate(-50%, -50%) scale(0.1) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    100% {
        transform: translate(var(--end-x), var(--end-y)) scale(1) rotate(var(--rotation));
        opacity: 0;
    }
}