/* Base background setup */
body {
    margin: 0;
    min-height: 100vh;
    background: #e6f3ff;
    position: relative;
    overflow-x: hidden;
    animation: backgroundShift 20s ease-in-out infinite;
}

/* Background color animation */
@keyframes backgroundShift {
    0%, 100% { background-color: #e6f3ff; }
    25% { background-color: #fff6e5; }
    50% { background-color: #e8f5e9; }
    75% { background-color: #f3e5f5; }
}

/* Floating safety icons */
.safety-icons {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1;
}

.safety-icon {
    position: absolute;
    opacity: 0.2;
    animation: float 15s infinite linear;
}

/* Safety icon positions and animations */
.safety-icon:nth-child(1) {
    top: 10%;
    left: 10%;
    animation-delay: 0s;
}

.safety-icon:nth-child(2) {
    top: 20%;
    right: 15%;
    animation-delay: -2s;
}

.safety-icon:nth-child(3) {
    bottom: 15%;
    left: 20%;
    animation-delay: -4s;
}

.safety-icon:nth-child(4) {
    bottom: 25%;
    right: 10%;
    animation-delay: -6s;
}

/* Floating animation */
@keyframes float {
    0% {
        transform: translate(0, 0) rotate(0deg);
        opacity: 0.2;
    }
    25% {
        transform: translate(100px, 50px) rotate(90deg);
        opacity: 0.3;
    }
    50% {
        transform: translate(50px, 100px) rotate(180deg);
        opacity: 0.2;
    }
    75% {
        transform: translate(-50px, 50px) rotate(270deg);
        opacity: 0.3;
    }
    100% {
        transform: translate(0, 0) rotate(360deg);
        opacity: 0.2;
    }
}

/* Responsive wave decoration */
.wave {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: url('data:image/svg+xml,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg"><path d="M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z" fill="%234a90e2" opacity=".25"/></svg>') repeat-x;
    background-size: 1200px 100px;
    animation: waveMove 20s linear infinite;
}

@keyframes waveMove {
    0% { background-position-x: 0; }
    100% { background-position-x: 1200px; }
}

/* Interactive elements hover effect */
.interactive-element {
    position: relative;
    transition: transform 0.3s ease;
}

.interactive-element:hover {
    transform: scale(1.05);
}

/* Safety alert pulse */
.safety-alert {
    position: fixed;
    width: 20px;
    height: 20px;
    background: #ff4444;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(255, 68, 68, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(255, 68, 68, 0);
    }
}
