/* ==========================================================================
   LMH Background v2 — neon grid + haze (site-wide)
   Load after styles.css
   ========================================================================== */

:root {
    --lmh-bg: #07080b;
    --lmh-bg-deep: #040507;
}

body {
    background: var(--lmh-bg);
}

.lmh-bg-pattern {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    background:
        radial-gradient(ellipse 90% 55% at 50% -15%, rgba(212, 255, 77, 0.11), transparent 58%),
        radial-gradient(ellipse 45% 40% at 100% 10%, rgba(255, 107, 74, 0.07), transparent 55%),
        radial-gradient(ellipse 50% 45% at 0% 90%, rgba(212, 255, 77, 0.06), transparent 55%),
        radial-gradient(ellipse 70% 50% at 50% 110%, rgba(139, 195, 74, 0.05), transparent 50%),
        linear-gradient(180deg, #0a0c10 0%, #06070a 48%, #040507 100%);
}

/* Soft animated haze orbs */
.lmh-bg-pattern::before {
    content: "";
    position: absolute;
    inset: -10%;
    background:
        radial-gradient(ellipse 35% 28% at 18% 72%, rgba(212, 255, 77, 0.08), transparent 62%),
        radial-gradient(ellipse 32% 26% at 82% 28%, rgba(255, 107, 74, 0.06), transparent 60%),
        radial-gradient(ellipse 40% 30% at 55% 55%, rgba(212, 255, 77, 0.035), transparent 65%);
    animation: lmh-bg-v2-haze 18s ease-in-out infinite;
    opacity: 1;
    filter: none;
}

/* Neon grid + vignette */
.lmh-bg-pattern::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 1;
    background-image:
        linear-gradient(rgba(212, 255, 77, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212, 255, 77, 0.035) 1px, transparent 1px),
        radial-gradient(ellipse 75% 70% at 50% 45%, transparent 40%, rgba(0, 0, 0, 0.55) 100%);
    background-size:
        56px 56px,
        56px 56px,
        100% 100%;
    background-position: center top;
    animation: lmh-bg-v2-grid 28s linear infinite;
    mask-image: radial-gradient(ellipse 85% 80% at 50% 40%, #000 20%, transparent 95%);
    -webkit-mask-image: radial-gradient(ellipse 85% 80% at 50% 40%, #000 20%, transparent 95%);
}

@keyframes lmh-bg-v2-haze {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.85;
    }
    50% {
        transform: translate3d(1.5%, -1.2%, 0) scale(1.04);
        opacity: 1;
    }
}

@keyframes lmh-bg-v2-grid {
    0% { background-position: 0 0, 0 0, center; }
    100% { background-position: 56px 56px, 56px 56px, center; }
}

@media (prefers-reduced-motion: reduce) {
    .lmh-bg-pattern::before,
    .lmh-bg-pattern::after {
        animation: none !important;
    }
}

/* Keep ambient particles (if present) in neon palette */
.lmh-ambient-particle {
    background: radial-gradient(circle, rgba(212, 255, 77, 0.5) 0%, rgba(212, 255, 77, 0.1) 55%, transparent 100%) !important;
    box-shadow: 0 0 5px rgba(212, 255, 77, 0.2) !important;
}
