/* =============================================
   THEME PERFECTION LAYER — Keyframes for signature scenes
   Loaded after themes.css. Companion to theme-scenes.js
   ============================================= */

/* ---------- Glass orbs ---------- */
@keyframes glassOrbDrift1 {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    33%      { transform: translate3d(60px, -40px, 0) scale(1.05); }
    66%      { transform: translate3d(-40px, 30px, 0) scale(0.95); }
}
@keyframes glassOrbDrift2 {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50%      { transform: translate3d(-50px, 40px, 0) scale(1.08); }
}
@keyframes glassLightSweep {
    0%   { transform: translate3d(-100%, -100%, 0) rotate(25deg); }
    100% { transform: translate3d(100%, 100%, 0) rotate(25deg); }
}

/* ---------- Sketch doodles ---------- */
@keyframes sketchDoodleFade {
    0%, 100%  { opacity: 0; transform: scale(0.85) translate3d(0, 0, 0); }
    30%, 60%  { opacity: 0.85; transform: scale(1) translate3d(0, -3px, 0); }
}

/* ---------- Soft Light bokeh ---------- */
@keyframes softlightBokehRise {
    0%   { transform: translate3d(0, 0, 0) scale(0.9); opacity: 0; }
    8%   { opacity: 0.9; }
    92%  { opacity: 0.55; }
    100% { transform: translate3d(40px, -110vh, 0) scale(1.05); opacity: 0; }
}

/* ---------- Cherry lanterns ---------- */
@keyframes cherryLanternSway {
    0%, 100% { transform: rotate(-3deg); }
    50%      { transform: rotate(3deg); }
}
@keyframes cherryLanternGlow {
    0%, 100% { filter: drop-shadow(0 0 10px rgba(255,180,200,0.55)); }
    50%      { filter: drop-shadow(0 0 18px rgba(255,200,160,0.85)); }
}

/* ---------- Bonsai leaves ---------- */
@keyframes bonsaiLeafFall {
    0%   { transform: translate3d(0, -10px, 0) rotate(0deg); opacity: 0; }
    8%   { opacity: 0.9; }
    100% { transform: translate3d(-40vw, 110vh, 0) rotate(540deg); opacity: 0; }
}

/* ---------- Reef kelp + fish ---------- */
@keyframes reefKelpSway {
    0%   { transform: rotate(-2.5deg); }
    100% { transform: rotate(2.5deg); }
}
@keyframes reefFishSwim {
    0%   { transform: translateX(0); }
    100% { transform: translateX(120vw); }
}
@keyframes reefFishSwimReverse {
    0%   { transform: translateX(0) scaleX(-1); }
    100% { transform: translateX(-120vw) scaleX(-1); }
}

/* ---------- Silver dust ---------- */
@keyframes silverDustTwinkle {
    0%, 100% { opacity: 0; transform: scale(0.6); }
    50%      { opacity: 1; transform: scale(1.2); }
}

/* ---------- Mercury sheen ---------- */
@keyframes mercurySheenRotate {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
