/* Scene wrapper */
.scene-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  border-radius: 16px;
  overflow: hidden;
  min-height: 150px;
}
.scene-wrapper svg { width: 200px; height: 140px; display: block; }

/* CLOUD */
@keyframes cloud-drift  { 0%,100%{transform:translateX(-8px)} 50%{transform:translateX(8px)} }
@keyframes cloud-drift2 { 0%,100%{transform:translateX(6px)}  50%{transform:translateX(-6px)} }

/* SUN */
@keyframes sun-rays  { from{transform:rotate(0deg)}   to{transform:rotate(360deg)} }
@keyframes sun-pulse { 0%,100%{opacity:0.6} 50%{opacity:1} }

/* MOON */
@keyframes moon-float { 0%,100%{transform:translateY(0)}   50%{transform:translateY(-10px)} }
@keyframes star-twinkle{ 0%,100%{opacity:1;r:2} 50%{opacity:.2;r:1} }

/* FIRE */
@keyframes flame-flicker {
  0%   {transform:scaleY(1)    scaleX(1)  ;transform-origin:bottom}
  25%  {transform:scaleY(1.1)  scaleX(.9) ;transform-origin:bottom}
  50%  {transform:scaleY(.92)  scaleX(1.08);transform-origin:bottom}
  75%  {transform:scaleY(1.12) scaleX(.92);transform-origin:bottom}
  100% {transform:scaleY(1)    scaleX(1)  ;transform-origin:bottom}
}
@keyframes ember-rise { 0%{cy:110;opacity:1;r:3} 100%{cy:20;opacity:0;r:1} }

/* WATER */
@keyframes water-flow {
  0%   { d:path("M0,90 Q50,70 100,90 Q150,110 200,90 L200,140 L0,140 Z") }
  50%  { d:path("M0,90 Q50,110 100,90 Q150,70  200,90 L200,140 L0,140 Z") }
  100% { d:path("M0,90 Q50,70 100,90 Q150,110 200,90 L200,140 L0,140 Z") }
}
@keyframes ripple { 0%{r:3;opacity:.9} 100%{r:28;opacity:0} }
@keyframes drop-fall { 0%{transform:translateY(-40px);opacity:0} 15%{opacity:1} 100%{transform:translateY(30px);opacity:0} }

/* TREE */
@keyframes tree-sway  { 0%,100%{transform:rotate(-2deg);transform-origin:bottom center} 50%{transform:rotate(2deg);transform-origin:bottom center} }
@keyframes leaf-sway  { 0%,100%{transform:rotate(-5deg);transform-origin:bottom center} 50%{transform:rotate(5deg);transform-origin:bottom center} }

/* HEART */
@keyframes heartbeat  { 0%,100%{transform:scale(1)} 14%{transform:scale(1.18)} 28%{transform:scale(1)} 42%{transform:scale(1.1)} 70%{transform:scale(1)} }

/* PERSON */
@keyframes body-bob   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes leg-fwd    { 0%,100%{transform:rotate(-20deg);transform-origin:top center} 50%{transform:rotate(20deg);transform-origin:top center} }
@keyframes leg-bwd    { 0%,100%{transform:rotate(20deg);transform-origin:top center}  50%{transform:rotate(-20deg);transform-origin:top center} }
@keyframes arm-swing  { 0%,100%{transform:rotate(20deg);transform-origin:top center}  50%{transform:rotate(-20deg);transform-origin:top center} }

/* EYE */
@keyframes eye-blink  { 0%,88%,100%{transform:scaleY(1)} 94%{transform:scaleY(.06)} }
@keyframes pupil-look { 0%,100%{transform:translateX(0)} 33%{transform:translateX(5px)} 66%{transform:translateX(-4px)} }

/* HAND */
@keyframes hand-wave  { 0%,100%{transform:rotate(-15deg);transform-origin:bottom center} 50%{transform:rotate(15deg);transform-origin:bottom center} }

/* RAIN */
@keyframes rain-fall  { 0%{transform:translateY(-20px) scaleY(0);opacity:0} 10%{opacity:.9;transform:scaleY(1)} 100%{transform:translateY(90px);opacity:0} }

/* SWORD / KNIFE */
@keyframes sword-slash{ 0%,100%{transform:rotate(-35deg);transform-origin:90% 80%} 50%{transform:rotate(25deg);transform-origin:90% 80%} }

/* BOAT */
@keyframes boat-rock  { 0%,100%{transform:rotate(-6deg) translateX(-5px);transform-origin:bottom} 50%{transform:rotate(6deg) translateX(5px);transform-origin:bottom} }
@keyframes wave-bob   { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }

/* FISH */
@keyframes fish-swim  { 0%,100%{transform:translateX(-18px)} 50%{transform:translateX(18px)} }
@keyframes tail-flap  { 0%,100%{transform:rotate(-15deg);transform-origin:right center} 50%{transform:rotate(15deg);transform-origin:right center} }

/* BIRD */
@keyframes bird-glide { 0%,100%{transform:translateY(0) translateX(-12px)} 50%{transform:translateY(-14px) translateX(12px)} }
@keyframes wing-up    { 0%,100%{transform:rotate(-20deg);transform-origin:right center} 50%{transform:rotate(20deg);transform-origin:right center} }

/* MOUNTAIN */
@keyframes snow-glow  { 0%,100%{opacity:.95} 50%{opacity:.5} }
@keyframes peak-mist  { 0%,100%{opacity:.4;transform:translateY(0)}  50%{opacity:.1;transform:translateY(-8px)} }

/* DRAGON */
@keyframes dragon-spin{ from{transform:rotate(0deg);transform-origin:100px 70px} to{transform:rotate(360deg);transform-origin:100px 70px} }
@keyframes dragon-glow{ 0%,100%{filter:drop-shadow(0 0 6px #ff6b35)} 50%{filter:drop-shadow(0 0 18px #ff6b35)} }

/* COIN */
@keyframes coin-flip  { 0%,100%{transform:scaleX(1)} 50%{transform:scaleX(.1)} }
@keyframes coin-glow  { 0%,100%{filter:drop-shadow(0 0 4px #f5a623)} 50%{filter:drop-shadow(0 0 16px #f5a623)} }

/* BAMBOO */
@keyframes bamboo-sway{ 0%,100%{transform:rotate(-3deg);transform-origin:bottom} 50%{transform:rotate(3deg);transform-origin:bottom} }

/* SPROUT */
@keyframes sprout-rise{ 0%{transform:scaleY(.1) translateY(40px);opacity:0} 100%{transform:scaleY(1) translateY(0);opacity:1} }
@keyframes sprout-bob { 0%,100%{transform:rotate(-4deg);transform-origin:bottom} 50%{transform:rotate(4deg);transform-origin:bottom} }

/* EARTH */
@keyframes earth-rot  { from{transform:rotate(0deg);transform-origin:center}  to{transform:rotate(360deg);transform-origin:center} }

/* HORSE */
@keyframes horse-hop  { 0%,100%{transform:translateY(0)}  50%{transform:translateY(-8px)} }
@keyframes horse-leg-f{ 0%,100%{transform:rotate(-25deg);transform-origin:top} 50%{transform:rotate(25deg);transform-origin:top} }
@keyframes horse-leg-b{ 0%,100%{transform:rotate(25deg);transform-origin:top}  50%{transform:rotate(-25deg);transform-origin:top} }

/* DOOR */
@keyframes door-swing { 0%,100%{transform:skewX(0deg);transform-origin:left} 50%{transform:skewX(-18deg);transform-origin:left} }

/* ARROW */
@keyframes arrow-launch{ 0%{transform:translateX(-50px);opacity:0} 15%{opacity:1} 85%{opacity:1} 100%{transform:translateX(60px);opacity:0} }

/* SCROLL / BOOK */
@keyframes scroll-glow{ 0%,100%{filter:drop-shadow(0 0 3px #c8a96e)} 50%{filter:drop-shadow(0 0 12px #c8a96e)} }

/* SILK THREAD */
@keyframes thread-flow{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
