/**
 * SCA Background Effects
 */

/* Basis für Effekte - Separater Layer für bessere Sichtbarkeit und Z-Index Kontrolle */
.sca-bg-effects-layer {
    position: fixed;
    inset: 0;
    z-index: 10; /* Über dem Background Image, unter dem Content */
    pointer-events: none;
    overflow: hidden;
}

/* Hintergrundbild Layer */
.sca-background-image-layer {
    position: fixed;
    inset: 0;
    z-index: 5; /* Über dem Body-Schwarz, unter den Effekten */
    pointer-events: none;
    opacity: var(--sca-bg-image-opacity, 1);
    background-image: var(--sca-bg-image-url, none);
    background-repeat: var(--sca-bg-image-repeat, no-repeat);
    background-size: var(--sca-bg-image-size, cover);
    background-position: var(--sca-bg-image-position, center center);
    background-attachment: var(--sca-bg-image-attachment, fixed);
}

/* Fallback / Basis für Body falls nötig */
body.sca-has-bg-effects,
body.has-sca-background-image {
    background-color: #000000;
}

/* Container für einzelne Effekte */
.sca-multiverse-pulse-layer,
.sca-portal-echo-layer {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

/* --------------------------------------------------
   MULTIVERSE PULSE
   -------------------------------------------------- */
body.sca-bg-multiverse-pulse .sca-multiverse-pulse-layer {
    background: radial-gradient(circle at 50% 50%, rgba(109, 40, 217, var(--sca-pulse-opacity, 0.03)), transparent 70%);
    animation: multiverse-pulse var(--sca-pulse-duration, 60s) infinite ease-in-out;
}

@keyframes multiverse-pulse {
    0%, 45%, 55%, 100% { opacity: 0; }
    50% { opacity: 1; }
}

/* --------------------------------------------------
   PORTAL ECHO
   -------------------------------------------------- */
body.sca-bg-portal-echo .sca-portal-echo-layer {
    background: radial-gradient(circle at 50% 40%, rgba(124, 58, 237, var(--sca-portal-opacity, 0.04)), transparent 60%);
    animation: portal-echo var(--sca-portal-anim-duration, 20s) infinite alternate ease-in-out;
}

@keyframes portal-echo {
    0% { transform: scale(1) translate(-1%, -1%); opacity: calc(var(--sca-portal-base-opacity, 0.7) * 0.8); }
    100% { transform: scale(1.1) translate(1%, 1%); opacity: var(--sca-portal-base-opacity, 0.7); }
}

/* --------------------------------------------------
   METADATA FLICKER
   -------------------------------------------------- */
body.sca-bg-metadata-flicker .archive-preview-card,
body.sca-bg-metadata-flicker .search-ready-label,
body.sca-bg-metadata-flicker .earth-616-label,
body.sca-bg-metadata-flicker .metadata-flicker-item,
body.sca-bg-metadata-flicker .eyebrow,
body.sca-bg-metadata-flicker .post-meta span {
    animation: metadata-flicker var(--sca-flicker-duration, 120s) infinite;
}

@keyframes metadata-flicker {
    0%, 94%, 96%, 98%, 100% { filter: brightness(1); }
    95%, 97%, 99% { filter: brightness(var(--sca-flicker-brightness, 1.15)); }
}

/* --------------------------------------------------
   INTENSITÄT (Sichtbarkeit)
   -------------------------------------------------- */

/* Aus */
body.effect-intensity-aus {
    --sca-pulse-opacity: 0;
    --sca-portal-opacity: 0;
    --sca-flicker-brightness: 1;
}

/* Dezent (Standard) */
body.effect-intensity-subtle {
    --sca-pulse-opacity: 0.10;
    --sca-portal-opacity: 0.10;
    --sca-portal-base-opacity: 0.7;
    --sca-flicker-brightness: 1.15;
}

/* Mittel */
body.effect-intensity-medium {
    --sca-pulse-opacity: 0.17;
    --sca-portal-opacity: 0.17;
    --sca-portal-base-opacity: 0.8;
    --sca-flicker-brightness: 1.30;
}

/* Stark */
body.effect-intensity-strong {
    --sca-pulse-opacity: 0.27;
    --sca-portal-opacity: 0.27;
    --sca-portal-base-opacity: 0.9;
    --sca-flicker-brightness: 1.50;
}

/* Debug */
body.effect-intensity-debug {
    --sca-pulse-opacity: 0.55;
    --sca-portal-opacity: 0.55;
    --sca-portal-base-opacity: 1;
    --sca-flicker-brightness: 2.5;
}
body.effect-intensity-debug .sca-bg-effects-layer {
    z-index: 9999;
    background: rgba(255, 0, 0, 0.05);
}

/* --------------------------------------------------
   HÄUFIGKEIT (Animation-Timing)
   -------------------------------------------------- */

/* Selten */
body.effect-frequency-low {
    --sca-pulse-duration: 52s;
    --sca-flicker-duration: 37s;
}

/* Normal */
body.effect-frequency-normal {
    --sca-pulse-duration: 27s;
    --sca-flicker-duration: 20s;
}

/* Häufig */
body.effect-frequency-high {
    --sca-pulse-duration: 11s;
    --sca-flicker-duration: 9s;
}

/* Debug */
body.effect-frequency-debug {
    --sca-pulse-duration: 4s;
    --sca-flicker-duration: 3s;
}

/* Portal Echo nutzt nur Intensität */
:root {
    --sca-portal-anim-duration: 20s;
}

/* Debug Force visibility */
body.effect-frequency-debug .sca-bg-effects-layer,
body.effect-intensity-debug .sca-bg-effects-layer {
    z-index: 9999;
}
