.sakura-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
    background: url('/sakura_bg.jpg') no-repeat center center;
    background-size: cover;
}

/* Grid Overlay Effect */
.sakura-background::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.1) 1px, transparent 1px);
    background-size: 2px 2px;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
}

/* realistic Floating Petals */
.petal-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.petal {
    position: absolute;
    background: linear-gradient(135deg, #f596aa 0%, #faeef0 100%);
    border-radius: 150% 10% 150% 10%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    opacity: 0.8;
    filter: blur(0.5px);
    animation: petalFall linear infinite;
}

@keyframes petalFall {
    0% {
        transform: translateY(-50px) translateX(0) rotate(0deg);
        opacity: 0;
    }

    10% {
        opacity: 0.9;
    }

    100% {
        transform: translateY(110vh) translateX(200px) rotate(720deg);
        opacity: 0;
    }
}

/* Subtle Ground Shadow for depth */
.sakura-background::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(to top, rgba(245, 150, 170, 0.1), transparent);
    pointer-events: none;
}