/* =====================================================
   Tema background bawaan untuk game (dipakai juga di admin)
   ===================================================== */
.bg-stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.bg-sky    { background: linear-gradient(180deg, #5ec8ff 0%, #a8e4ff 55%, #d9f6ff 100%); }
.bg-garden { background: linear-gradient(180deg, #8fdcff 0%, #c8f0ff 45%, #9be37a 70%, #5cc45a 100%); }
.bg-ocean  { background: linear-gradient(180deg, #3fc1e8 0%, #1f8fd1 50%, #11549e 100%); }
.bg-space  { background: radial-gradient(ellipse at 30% 20%, #5b3ea8 0%, #2a1a5e 45%, #0e0b2b 100%); }
.bg-candy  { background: linear-gradient(135deg, #ffd1e8 0%, #ffe9a8 50%, #c9f2ff 100%); }

/* Hiasan yang bergerak (awan, ikan, bintang, dll) */
.bg-decor {
    position: absolute;
    user-select: none;
    pointer-events: none;
    line-height: 1;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.12));
}

.decor-drift  { animation: decor-drift linear infinite; }
.decor-float  { animation: decor-float ease-in-out infinite alternate; }
.decor-twinkle{ animation: decor-twinkle ease-in-out infinite alternate; }
.decor-rise   { animation: decor-rise linear infinite; }

@keyframes decor-drift {
    from { transform: translateX(-20vw); }
    to   { transform: translateX(120vw); }
}
@keyframes decor-float {
    from { transform: translateY(0) rotate(-6deg); }
    to   { transform: translateY(-24px) rotate(6deg); }
}
@keyframes decor-twinkle {
    from { opacity: 0.25; transform: scale(0.8); }
    to   { opacity: 1;    transform: scale(1.15); }
}
@keyframes decor-rise {
    from { transform: translateY(20vh);  opacity: 0; }
    15%  { opacity: 0.9; }
    to   { transform: translateY(-110vh); opacity: 0; }
}

/* Bukit hijau untuk tema taman */
.bg-hill {
    position: absolute;
    bottom: -18%;
    width: 70%;
    height: 40%;
    border-radius: 50%;
    background: #4cb34a;
}
