@keyframes elf-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes elf-spark{0%,to{opacity:1}40%,60%{opacity:.05}}@keyframes elf-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.elf .creature-root{animation:elf-bob 1.8s ease-in-out infinite}.elf .part-arm_l .spark{animation:elf-spark .7s ease-in-out infinite}.elf .part-arm_r .spark{animation:elf-spark .7s ease-in-out .35s infinite}.elf .part-eyes{animation:elf-blink 5s ease-in-out infinite}@keyframes flask-flicker{0%,to{opacity:1}25%{opacity:.75}50%{opacity:.9}75%{opacity:.8}}@keyframes flask-bubble{0%{transform:translateY(0);opacity:.8}to{transform:translateY(-18px);opacity:0}}.flask .creature-root{animation:flask-flicker 2.2s ease-in-out infinite}.flask .bubble-1{animation:flask-bubble 1.8s ease-in infinite}.flask .bubble-2{animation:flask-bubble 1.8s ease-in .6s infinite}.flask .bubble-3{animation:flask-bubble 1.8s ease-in 1.2s infinite}@keyframes gnome-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes gnome-beard{0%,to{transform:translateX(0) rotate(0deg)}33%{transform:translateX(-2px) rotate(-2deg)}66%{transform:translateX(2px) rotate(2deg)}}@keyframes gnome-hat{0%,to{transform:rotate(0deg)}30%{transform:rotate(-3deg)}70%{transform:rotate(3deg)}}.gnome .creature-root{animation:gnome-bob 2.4s ease-in-out infinite}.gnome .part-beard{animation:gnome-beard 3.2s ease-in-out infinite}.gnome .part-antennae{animation:gnome-hat 2.4s ease-in-out infinite}@keyframes oct-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes oct-tent-a{0%,to{transform:translateX(0)}50%{transform:translateX(3px)}}@keyframes oct-tent-b{0%,to{transform:translateX(0)}50%{transform:translateX(-3px)}}@keyframes oct-dome{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.06)}}.octopus .creature-root{animation:oct-float 3.2s ease-in-out infinite}.octopus .tent-1{animation:oct-tent-a 1s ease-in-out infinite}.octopus .tent-2{animation:oct-tent-b 1s ease-in-out .25s infinite}.octopus .tent-3{animation:oct-tent-a 1s ease-in-out .5s infinite}.octopus .tent-4{animation:oct-tent-b 1s ease-in-out .75s infinite}.octopus .part-head{animation:oct-dome 3.2s ease-in-out infinite}@keyframes hula-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hula-hips{0%,to{transform:translateX(0) rotate(0deg)}25%{transform:translateX(-5px) rotate(-4deg)}75%{transform:translateX(5px) rotate(4deg)}}@keyframes hula-arm-l{0%,to{transform:rotate(-10deg) translateY(0)}25%{transform:rotate(25deg) translateY(-6px)}75%{transform:rotate(-25deg) translateY(-4px)}}@keyframes hula-arm-r{0%,to{transform:rotate(10deg) translateY(0)}25%{transform:rotate(-25deg) translateY(-4px)}75%{transform:rotate(25deg) translateY(-6px)}}@keyframes hula-skirt{0%,to{transform:translateX(0) skewX(0deg) scaleX(1)}30%{transform:translateX(-4px) skewX(-10deg) scaleX(1.12)}80%{transform:translateX(4px) skewX(10deg) scaleX(1.12)}}@keyframes hula-hair{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes hula-flower{0%,to{transform:rotate(0deg)}50%{transform:rotate(20deg)}}@keyframes hula-blink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.1)}}@keyframes hula-spin{0%{transform:translateX(0) rotate(0deg)}to{transform:translateX(0) rotate(1turn)}}@keyframes blade-l{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes blade-r{0%,to{transform:rotate(0)}50%{transform:rotate(12deg)}}.hula .creature-root{animation:hula-bob 1.4s ease-in-out infinite}.hula .hula-hips{animation:hula-hips 1s ease-in-out infinite}.hula .part-arm_l{animation:hula-arm-l 1s ease-in-out infinite}.hula .part-arm_r{animation:hula-arm-r 1s ease-in-out infinite}.hula .part-special{animation:hula-skirt 1s ease-in-out .15s infinite}.hula .part-antennae{animation:hula-hair 1s ease-in-out infinite}.hula .flower{animation:hula-flower 2s ease-in-out infinite}.hula .part-eyes{animation:hula-blink 5s ease-in-out infinite}.hula .blade-1{animation:blade-l 1s ease-in-out infinite}.hula .blade-2{animation:blade-l 1s ease-in-out .1s infinite}.hula .blade-3{animation:blade-r 1s ease-in-out .15s infinite}.hula .blade-4{animation:blade-r 1s ease-in-out .05s infinite}.hula.spinning .hula-hips{animation:hula-spin .7s cubic-bezier(.4,0,.6,1) 1 forwards}@keyframes space-drift{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-4px) rotate(-1deg)}75%{transform:translateY(-7px) rotate(1deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes space-beacon{0%,48%,to{opacity:0;transform:scale(1)}50%,98%{opacity:1;transform:scale(1.4)}}@keyframes space-scan{0%,to{transform:translateX(0)}30%{transform:translateX(-3px)}70%{transform:translateX(3px)}}.space .creature-root{animation:space-drift 4.5s ease-in-out infinite}.space .part-antennae .beacon{animation:space-beacon 1s step-end infinite}.space .part-eyes{animation:space-scan 5s ease-in-out infinite}@keyframes sea-drift{0%,to{transform:translateX(0)}33%{transform:translateX(-5px)}66%{transform:translateX(5px)}}@keyframes sea-lure{0%,to{opacity:.25;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes sea-fin{0%,to{transform:scaleX(1)}50%{transform:scaleX(.6)}}.deepsea .creature-root{animation:sea-drift 3.5s ease-in-out infinite}.deepsea .lure{animation:sea-lure 1.6s ease-in-out infinite}.deepsea .creature-root,.deepsea .lure,.deepsea .part-special{transform-box:fill-box;transform-origin:center}.deepsea .part-special{animation:sea-fin 1.4s ease-in-out infinite}@keyframes illegal-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes illegal-check{0%,70%,to{transform:scaleX(1)}75%,95%{transform:scaleX(-1)}}@keyframes illegal-eyes{0%,30%,to{transform:translateX(0)}35%,55%{transform:translateX(-3px)}60%,80%{transform:translateX(3px)}}@keyframes illegal-hat{0%,30%,to{transform:rotate(0deg)}35%,55%{transform:rotate(-4deg)}60%,80%{transform:rotate(3deg)}}@keyframes illegal-case{0%,to{transform:rotate(0deg)}50%{transform:rotate(-10deg)}}.illegal .creature-root{animation:illegal-bob 2.8s ease-in-out infinite,illegal-check 8s ease-in-out infinite}.illegal .part-eyes{animation:illegal-eyes 4s ease-in-out infinite}.illegal .part-antennae{animation:illegal-hat 4s ease-in-out infinite}.illegal .part-special{animation:illegal-case 2.2s ease-in-out infinite;transform-origin:top center}.creature-shadow{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:30px;height:8px;background:rgba(0,0,0,.4);border-radius:50%;opacity:.3;pointer-events:none;transition:width .3s,opacity .3s}@keyframes speech-in{0%{opacity:0;transform:translateX(-50%) translateY(4px) scale(.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.creature-speech{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1a2844;border:1px solid rgba(75,139,108,.4);border-radius:8px;padding:4px 10px;color:#d4af37;font-family:Courier New,monospace;font-size:9px;white-space:nowrap;z-index:30;pointer-events:none;animation:speech-in .3s ease-out;margin-bottom:6px}.creature-embrace{transition:transform .3s ease,filter .3s ease}.creature-embrace:hover{filter:drop-shadow(0 0 12px currentColor)}.creature-embrace.glow-verdigris:hover{filter:drop-shadow(0 0 14px rgba(75,139,108,.7))}.creature-embrace.glow-gold:hover{filter:drop-shadow(0 0 14px rgba(212,175,55,.7))}@keyframes clickJump{0%{transform:scaleY(.85) translateY(0)}40%{transform:scaleY(1.1) translateY(-14px)}to{transform:scaleY(1) translateY(0)}}.state-clicking .creature-root{animation:clickJump .25s ease-out!important}.state-winning .part-arm_l{transform:rotate(-40deg)!important}.state-winning .part-arm_r{transform:rotate(40deg)!important}.state-losing .part-arm_l{transform:rotate(30deg)!important}.state-losing .part-arm_r{transform:rotate(-30deg)!important}.state-sleeping .creature-root{animation-duration:6s!important}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.4);opacity:1}}.loader-dot{animation:dotPulse 1.2s ease-in-out infinite}.loader-dot:nth-child(2){animation-delay:.2s}.loader-dot:nth-child(3){animation-delay:.4s}