/* KVANTA5 HOMEPAGE PARTICLE WAVE BEGIN
 * Full-viewport adaptation of the kvanta5.org orbCanvas particle surface.
 * Isolated from explorer panel, navigation, dropdown, and opacity rules.
 */

#kv5-wave-background {
    overflow: hidden !important;
    background-color: #05070a !important;
    background-image: none !important;
}

#kv5-homepage-particle-wave {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    user-select: none;
}

#kv5-wave-background::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(
            ellipse at 50% 50%,
            rgba(5, 7, 10, 0.45) 0%,
            rgba(5, 7, 10, 0.78) 100%
        ),
        linear-gradient(
            0deg,
            rgba(5, 7, 10, 0.70) 0%,
            transparent 40%
        );
}

@media (prefers-reduced-motion: reduce) {
    #kv5-homepage-particle-wave {
        opacity: 0.72;
    }
}

/* KVANTA5 HOMEPAGE PARTICLE WAVE END */

/* KVANTA5 LEGACY WAVE SUPPRESSION BEGIN
 * The homepage canvas is now the only visual child permitted inside the
 * explorer's background host. This disables the previous bottom-wave layer
 * without deleting its source, so rollback remains exact.
 */
#kv5-wave-background.kv5-homepage-wave-only::before {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    animation: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

#kv5-wave-background.kv5-homepage-wave-only > :not(#kv5-homepage-particle-wave) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    animation: none !important;
    pointer-events: none !important;
}
/* KVANTA5 LEGACY WAVE SUPPRESSION END */

/* KVANTA5 FULL VIEWPORT FIELD BEGIN
 *
 * Mobile-safe fixed viewport host.
 *
 * inset: 0 determines the dimensions. Avoid vw/vh/dvh and matching
 * minimum sizes because mobile browser chrome can change those units
 * independently while scrolling.
 */
#kv5-wave-background {
    position: fixed !important;
    inset: 0 !important;

    width: auto !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

#kv5-homepage-particle-wave {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

/*
 * Preserve the current full-field vignette.
 */
#kv5-wave-background::after {
    background:
        radial-gradient(
            ellipse at 50% 50%,
            rgba(5, 7, 10, 0.28) 0%,
            rgba(5, 7, 10, 0.62) 100%
        ) !important;
}
/* KVANTA5 FULL VIEWPORT FIELD END */
