/* Word Garden: gardener motion. Pair with gardener-art.js.
   The art wraps parts in .gd-body, .gd-eyes, .gd-arm-right, .gd-props and .gd-buddy groups,
   and the <svg> carries .gd-pose-<pose>. Add .wg-fewer-animations to <html> for the grown-up setting. */
.gardener .gd-body, .gardener .gd-arm-right, .gardener .gd-props { transform-box: view-box; }
.gardener .gd-body { transform-origin: 100px 266px; }
.gardener .gd-arm-right { transform-origin: 120px 142px; }
.gardener .gd-props { transform-origin: 152px 150px; }
.gardener .gd-eyes { transform-box: fill-box; transform-origin: center; }

@media (prefers-reduced-motion: no-preference) {
  .gardener .gd-eyes { animation: gd-blink 5s infinite; }
  .gd-pose-idle .gd-body { animation: gd-sway 3.2s ease-in-out infinite; }
  .gd-pose-wave .gd-arm-right { animation: gd-wave .36s ease-in-out 4 alternate; }
  .gd-pose-cheer .gd-body { animation: gd-jump .5s cubic-bezier(.3, .7, .4, 1); }
  .gd-pose-water .gd-props { animation: gd-tip 1.2s ease-in-out 2 alternate; }
  .gd-pose-look .gd-body { animation: gd-lean .5s ease-out both; }
  .gd-pose-dance .gd-body { animation: gd-dance .5s ease-in-out 6 alternate; }
  .gd-pose-rest .gd-body { animation: gd-breathe 3.6s ease-in-out infinite; }
  .gardener.gd-giggle .gd-body { animation: gd-giggle .45s ease-out; }
}
.wg-fewer-animations .gardener, .wg-fewer-animations .gardener *, .reduce-motion .gardener, .reduce-motion .gardener * { animation: none !important; }
.gardener-choice .gardener, .gardener-choice .gardener *, .gardener-reward-picture .gardener, .gardener-reward-picture .gardener * { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .gardener, .gardener * { animation: none !important; } }

@keyframes gd-blink { 0%, 94%, 100% { transform: scaleY(1); } 96% { transform: scaleY(.12); } }
@keyframes gd-sway { 0%, 100% { transform: rotate(-1.2deg); } 50% { transform: rotate(1.2deg); } }
@keyframes gd-wave { from { transform: rotate(0deg); } to { transform: rotate(16deg); } }
@keyframes gd-jump { 0% { transform: translateY(12px) scale(1.04, .94); } 45% { transform: translateY(-10px) scale(.97, 1.04); } 100% { transform: translateY(0) scale(1); } }
@keyframes gd-tip { from { transform: rotate(0deg); } to { transform: rotate(14deg); } }
@keyframes gd-lean { from { transform: rotate(0deg); } to { transform: rotate(4deg); } }
@keyframes gd-dance { from { transform: rotate(-5deg) translateY(0); } to { transform: rotate(5deg) translateY(-6px); } }
@keyframes gd-breathe { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(1.01, 1.025); } }
@keyframes gd-giggle { 0% { transform: scale(1); } 30% { transform: scale(1.06, .92); } 60% { transform: scale(.96, 1.05); } 100% { transform: scale(1); } }
