/* ═══ Levelabhängige Kampfumgebungen ═══
   game.js (bxEnvClasses) setzt auf .scene: env-<dungeon-id> env-l<Ebene> [env-last] [env-boss].
   Farben als Variablen je Dungeon, Silhouetten am Horizont (::before), Tageszeit/Boss-Stimmung über die Ebene (::after). */
body.in-combat .scene.combat:where([class*="env-"]):not(.env-none) {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.16), transparent 26%, transparent 74%, rgba(0, 0, 0, 0.16)),
              linear-gradient(180deg, var(--sky1) 0%, var(--sky2) 34%, var(--hor) 36%, var(--gr1) 62%, var(--gr2) 100%) !important;
  position: relative; overflow: hidden;
}
body.in-combat .scene.combat[class*="env-"]:not(.env-none)::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 36%; z-index: 0; pointer-events: none;
}
body.in-combat .scene.combat[class*="env-"]:not(.env-none)::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
}

body.in-combat .scene.combat:where([class*="env-"]) { --sky1: #dceef8; --sky2: #c2dff0; --hor: #90bcd4; --gr1: #5f8f7a; --gr2: #3a6070; --sil: #4d6d86; --sil2: #3c5a72; }
/* Stadtpark (Pflegeprozess): Baumkronen, Wiese */
body.in-combat .scene.combat.env-pflegeprozess { --sky1: #cfe9fb; --sky2: #e9f6df; --hor: #86b96b; --gr1: #5da24f; --gr2: #3a7340; --sil: #3f8a45; --sil2: #2f6e3a; }
body.in-combat .scene.combat.env-pflegeprozess::before {
  background: radial-gradient(circle at 50% 100%, var(--sil) 0 62%, transparent 63%) 0 100%/90px 46% repeat-x,
              radial-gradient(circle at 50% 100%, var(--sil2) 0 60%, transparent 61%) 45px 100%/110px 34% repeat-x;
}
/* Kaiju-Finale: rote Dämmerung über der Skyline */
body.in-combat .scene.combat.env-kaiju_finale { --sky1: #3a1f3f; --sky2: #c8503a; --hor: #7a2e2a; --gr1: #3c3340; --gr2: #1d1a24; --sil: #231a2c; --sil2: #170f20; }
body.in-combat .scene.combat.env-kaiju_finale::before {
  background: linear-gradient(90deg, var(--sil) 0 70%, transparent 70%) 0 100%/40px 30% repeat-x, linear-gradient(90deg, var(--sil2) 0 62%, transparent 62%) 20px 100%/30px 42% repeat-x,
              linear-gradient(90deg, var(--sil) 0 70%, transparent 70%) 8px 100%/64px 20% repeat-x;
}
/* Station / Einführung: helle Wand mit Fenstern, Linoleum */
body.in-combat .scene.combat:is(.env-pflege_haus, .env-tutorial) { --sky1: #f3ecdc; --sky2: #e8dfc9; --hor: #cdbf9f; --gr1: #a8c4c2; --gr2: #7d9fa4; --sil: #bfe2f2; --sil2: #d9cfb4; }
body.in-combat .scene.combat:is(.env-pflege_haus, .env-tutorial)::before {
  background: linear-gradient(var(--sil), var(--sil)) 20px 22% / 54px 38% repeat-x, linear-gradient(var(--sil2), var(--sil2)) 0 100% / 100% 8% no-repeat;
}
/* Heizkanal: Rohre im Dunkeln */
body.in-combat .scene.combat.env-pflegemassnahmen { --sky1: #2b2224; --sky2: #3b2a24; --hor: #5a3a2a; --gr1: #3a2f2c; --gr2: #1e1a1a; --sil: #6b4a36; --sil2: #8a5a3a; }
body.in-combat .scene.combat.env-pflegemassnahmen::before {
  background: linear-gradient(var(--sil), var(--sil)) 0 30% / 100% 7% no-repeat, linear-gradient(var(--sil2), var(--sil2)) 0 60% / 100% 5% no-repeat, linear-gradient(var(--sil), var(--sil)) 0 82% / 100% 9% no-repeat;
}
/* Parkinsonschloss: Nacht, Zinnen */
body.in-combat .scene.combat.env-parkinsonschloss { --sky1: #1b1840; --sky2: #3a2c66; --hor: #4a3a74; --gr1: #2c2a46; --gr2: #15142a; --sil: #19152e; --sil2: #231d3c; }
body.in-combat .scene.combat.env-parkinsonschloss::before {
  background: linear-gradient(90deg, var(--sil) 0 70%, transparent 70%) 0 100% / 46px 34% repeat-x, linear-gradient(90deg, var(--sil2) 0 62%, transparent 62%) 23px 100% / 16px 50% repeat-x, linear-gradient(var(--sil), var(--sil)) 0 100% / 100% 18% no-repeat;
}
/* Commotio-Kerker: Stein, Fackelschein */
body.in-combat .scene.combat.env-komotiu { --sky1: #1e2126; --sky2: #2a2e35; --hor: #3a3f48; --gr1: #2c2f35; --gr2: #15171b; }
body.in-combat .scene.combat.env-komotiu::before {
  background: radial-gradient(circle at 50% 50%, rgba(240, 170, 80, 0.55), transparent 55%) 0 0 / 220px 100% repeat-x, repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.28) 0 2px, transparent 2px 44px);
}
/* Apoplex Komplex: steriler Neon-Flur */
body.in-combat .scene.combat.env-apoplex_komplex { --sky1: #1f2a44; --sky2: #2a3a5e; --hor: #3b5278; --gr1: #34415c; --gr2: #1b2338; --sil: #6fd0ff; --sil2: #ff6f9a; }
body.in-combat .scene.combat.env-apoplex_komplex::before {
  background: linear-gradient(var(--sil), var(--sil)) 0 22% / 100% 2% no-repeat, linear-gradient(var(--sil2), var(--sil2)) 0 78% / 100% 2% no-repeat, repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0 3px, transparent 3px 70px);
}
/* Demenz: Nebel in Pastell; je Dungeon ein Motiv */
body.in-combat .scene.combat:is(.env-demenz_krankheitsbild, .env-demenz_kommunikation, .env-demenz_kitwood, .env-demenz_expertenstandard) { --sky1: #e6e0f2; --sky2: #cfc6e6; --hor: #b4a9d4; --gr1: #8d86b4; --gr2: #5d5883; --sil: #7c72a8; --sil2: #6a6296; }
body.in-combat .scene.combat.env-demenz_krankheitsbild::before { background: linear-gradient(90deg, var(--sil) 0 70%, transparent 70%) 0 100% / 40px 58% repeat-x, linear-gradient(90deg, var(--sil2) 0 62%, transparent 62%) 20px 100% / 40px 36% repeat-x; }
body.in-combat .scene.combat.env-demenz_kommunikation { --sky1: #dde7ee; --sky2: #c4d4e0; --hor: #a7bccb; --gr1: #8aa2b6; --gr2: #566c80; --sil: #7f98ab; }
body.in-combat .scene.combat.env-demenz_kommunikation::before { background: repeating-linear-gradient(90deg, var(--sil) 0 10px, transparent 10px 80px); }
body.in-combat .scene.combat.env-demenz_kitwood { --sky1: #f5ecd2; --sky2: #ecdcae; --hor: #d6bf84; --gr1: #b99f6c; --gr2: #7c6a46; --sil: #e9d9a8; --sil2: #b8a066; }
body.in-combat .scene.combat.env-demenz_kitwood::before { background: repeating-linear-gradient(90deg, var(--sil2) 0 14px, transparent 14px 90px), linear-gradient(var(--sil), var(--sil)) 0 100% / 100% 14% no-repeat; }
body.in-combat .scene.combat.env-demenz_expertenstandard { --sky1: #d8ecdc; --sky2: #bfe0c6; --hor: #8fc29a; --gr1: #6aa57a; --gr2: #3f7253; --sil: #4f9262; --sil2: #3a7a4f; }
body.in-combat .scene.combat.env-demenz_expertenstandard::before { background: radial-gradient(circle at 50% 100%, var(--sil) 0 60%, transparent 61%) 0 100% / 70px 50% repeat-x, radial-gradient(circle at 50% 100%, var(--sil2) 0 60%, transparent 61%) 35px 100% / 84px 36% repeat-x; }
/* Vitalzeichen-Kampagne */
body.in-combat .scene.combat.env-fiebervulkan { --sky1: #3a1410; --sky2: #8a2c18; --hor: #d2561e; --gr1: #5a2a22; --gr2: #2a1210; --sil: #2b100d; --sil2: #4a1c14; }
body.in-combat .scene.combat.env-fiebervulkan::before { background: conic-gradient(from 150deg at 30% 100%, transparent 0deg, var(--sil) 0 60deg, transparent 60deg) 0 100% / 100% 100% no-repeat, conic-gradient(from 150deg at 78% 100%, transparent 0deg, var(--sil2) 0 60deg, transparent 60deg) 0 100% / 100% 80% no-repeat; }
body.in-combat .scene.combat.env-puls_plateau { --sky1: #ffe3b8; --sky2: #ffc98a; --hor: #e59a52; --gr1: #c98a4e; --gr2: #8a5a34; --sil: #b9703e; --sil2: #a45e34; }
body.in-combat .scene.combat.env-puls_plateau::before { background: linear-gradient(var(--sil), var(--sil)) 6% 100% / 22% 46% no-repeat, linear-gradient(var(--sil2), var(--sil2)) 38% 100% / 16% 64% no-repeat, linear-gradient(var(--sil), var(--sil)) 86% 100% / 26% 38% no-repeat; }
body.in-combat .scene.combat.env-hochdruck_dschungel { --sky1: #cde9c4; --sky2: #9fd49a; --hor: #4f9a52; --gr1: #2f7a43; --gr2: #17482b; --sil: #1f6a35; --sil2: #14502a; }
body.in-combat .scene.combat.env-hochdruck_dschungel::before { background: radial-gradient(ellipse at 50% 100%, var(--sil) 0 58%, transparent 60%) 0 100% / 64px 40% repeat-x, radial-gradient(ellipse at 50% 100%, var(--sil2) 0 58%, transparent 60%) 30px 100% / 80px 28% repeat-x; }
body.in-combat .scene.combat.env-urzeit_bonus { --sky1: #cfe3f2; --sky2: #aecbe3; --hor: #8fa9bd; --gr1: #7d8a8e; --gr2: #4d5658; --sil: #6e8196; --sil2: #54687c; }
body.in-combat .scene.combat.env-urzeit_bonus::before { background: conic-gradient(from 160deg at 24% 100%, transparent 0deg, var(--sil) 0 40deg, transparent 40deg) 0 100% / 100% 100% no-repeat, conic-gradient(from 160deg at 70% 100%, transparent 0deg, var(--sil2) 0 40deg, transparent 40deg) 0 100% / 100% 86% no-repeat; }

/* Tageszeit/Stimmung je Ebene: 1 = Tag, 2 = Abendlicht, 3+ = Nacht/Gefahr; letzte Ebene dunkler; Boss = rote Vignette */
body.in-combat .scene.combat.env-l2::after { background: linear-gradient(180deg, rgba(255, 150, 70, 0.14), rgba(40, 20, 60, 0.12)); }
body.in-combat .scene.combat:is(.env-l3, .env-l4, .env-l5)::after { background: linear-gradient(180deg, rgba(20, 24, 70, 0.3), rgba(6, 8, 30, 0.34)); }
body.in-combat .scene.combat.env-last::after { background: linear-gradient(180deg, rgba(30, 10, 50, 0.3), rgba(6, 4, 24, 0.38)); }
body.in-combat .scene.combat.env-boss::after { background: radial-gradient(ellipse at 50% 40%, transparent 35%, rgba(20, 8, 40, 0.55) 100%), linear-gradient(180deg, rgba(30, 10, 50, 0.16), rgba(10, 4, 20, 0.22)); }
