@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #a4d00780}50%{box-shadow:0 0 40px #a4d007cc}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes damage-flash{0%{filter:brightness(1)}50%{filter:brightness(2) hue-rotate(20deg)}to{filter:brightness(1)}}@keyframes heal-pulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.5) hue-rotate(120deg)}to{transform:scale(1);filter:brightness(1)}}@keyframes energy-fill{0%{width:0%}to{width:100%}}@keyframes hp-decrease{0%{transform:scaleX(1)}50%{transform:scaleX(.95)}to{transform:scaleX(1)}}@keyframes attack-slash{0%{transform:translate(-100%) rotate(-45deg) scale(0);opacity:0}50%{opacity:1}to{transform:translate(100%) rotate(-45deg) scale(1);opacity:0}}@keyframes shield-appear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}@keyframes power-charge{0%{transform:scale(.8);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes bounce-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.battle-container{position:relative;width:100%;height:100vh;overflow:hidden;background:linear-gradient(180deg,#0a0e1a,#1a1f35,#0a0e1a);max-width:100vw;overflow-x:hidden}.battle-bg-particles{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(164,208,7,.1) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(102,192,244,.1) 0%,transparent 50%);animation:float 6s ease-in-out infinite}.capybara-sprite{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));animation:float 3s ease-in-out infinite}.capybara-sprite.my-capybara{animation-delay:0s}.capybara-sprite.opponent-capybara{animation-delay:1.5s;transform:scaleX(-1)}.capybara-sprite.attacking{animation:shake .5s ease-in-out}.capybara-sprite.taking-damage{animation:damage-flash .5s ease-in-out}.capybara-sprite.healing{animation:heal-pulse .8s ease-in-out}.hp-bar-container{position:relative;width:100%;height:32px;background:#0009;border-radius:16px;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.hp-bar-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hp-bar-fill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hp-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8);z-index:10}.energy-orbs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.energy-orb{width:20px;height:20px;border-radius:50%;background:#374151;border:2px solid #1f2937;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.energy-orb.filled{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#fbbf24;box-shadow:0 0 10px #fbbf2499,0 0 20px #fbbf244d,inset 0 2px 4px #ffffff80;animation:pulse-glow 2s ease-in-out infinite}.energy-orb.filled:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.8),transparent);border-radius:50%}.power-button{position:relative;padding:12px;border-radius:12px;border:2px solid;background:linear-gradient(135deg,#1e293be6,#0f172ae6);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.power-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(164,208,7,.1) 0%,transparent 100%);opacity:0;transition:opacity .2s}.power-button:hover:before{opacity:1}.power-button.available{border-color:#3b82f680}.power-button.available:hover{transform:translateY(-2px) scale(1.05);border-color:#3b82f6cc;box-shadow:0 10px 30px #3b82f64d}.power-button.available:active{transform:translateY(0) scale(.98)}.power-button.disabled{opacity:.5;cursor:not-allowed;border-color:#64748b4d}.power-button.selected{animation:power-charge .5s ease-in-out;border-color:#fbbf24;box-shadow:0 0 30px #fbbf2480}.damage-number{position:absolute;font-size:48px;font-weight:700;color:#ef4444;text-shadow:0 0 10px rgba(239,68,68,.8),0 2px 4px rgba(0,0,0,.8);animation:damage-float 1s ease-out forwards;pointer-events:none;z-index:100}@keyframes damage-float{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:1}to{transform:translateY(-100px) scale(1.2);opacity:0}}.heal-number{position:absolute;font-size:48px;font-weight:700;color:#10b981;text-shadow:0 0 10px rgba(16,185,129,.8),0 2px 4px rgba(0,0,0,.8);animation:heal-float 1s ease-out forwards;pointer-events:none;z-index:100}@keyframes heal-float{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:1}to{transform:translateY(-80px) scale(1);opacity:0}}.turn-indicator{padding:12px 24px;border-radius:24px;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:1px;animation:bounce-in .5s cubic-bezier(.68,-.55,.265,1.55)}.turn-indicator.my-turn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 0 30px #10b98180;animation:pulse-glow 1.5s ease-in-out infinite}.turn-indicator.opponent-turn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 0 30px #ef444480}.player-card{background:linear-gradient(135deg,#1e293bf2,#0f172af2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.1);padding:20px;animation:slide-in-left .5s cubic-bezier(.68,-.55,.265,1.55)}.opponent-card{background:linear-gradient(135deg,#3b0764f2,#4c1d95f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.1);padding:20px;animation:slide-in-right .5s cubic-bezier(.68,-.55,.265,1.55)}.battle-arena{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 10%;animation:fade-in .8s ease-out}.vs-indicator{font-size:64px;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(164,208,7,.8),0 4px 8px rgba(0,0,0,.8);animation:pulse-glow 2s ease-in-out infinite}.skill-attack-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;pointer-events:none;z-index:50}.skill-attack-effect:before{content:"⚔️";position:absolute;font-size:100px;animation:attack-slash .6s ease-out forwards;filter:drop-shadow(0 0 20px rgba(239,68,68,.8))}.skill-heal-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;pointer-events:none;z-index:50}.skill-heal-effect:before{content:"✨";position:absolute;font-size:80px;animation:heal-pulse .8s ease-out forwards;filter:drop-shadow(0 0 20px rgba(16,185,129,.8))}.skill-defense-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;pointer-events:none;z-index:50}.skill-defense-effect:before{content:"🛡️";position:absolute;font-size:100px;animation:shield-appear .6s ease-out forwards;filter:drop-shadow(0 0 20px rgba(59,130,246,.8))}@media(max-width:768px){.capybara-sprite{width:120px;height:120px}.vs-indicator{font-size:40px}.damage-number,.heal-number{font-size:32px}.power-button{padding:8px;font-size:.75rem}.power-button span{font-size:.7rem}.battle-arena{padding:80px 5% 200px;flex-direction:column;gap:20px}.opponent-card,.player-card{padding:12px;margin:0 8px}.hp-bar-container{height:24px}.hp-bar-text{font-size:12px}.energy-orb{width:16px;height:16px}.turn-indicator{font-size:12px;padding:8px 16px}.skill-attack-effect,.skill-heal-effect,.skill-defense-effect{width:120px;height:120px}.skill-attack-effect:before{font-size:60px}.skill-heal-effect:before{font-size:50px}.skill-defense-effect:before{font-size:60px}}@media(max-width:480px){.battle-arena{padding-top:60px;padding-bottom:220px}.capybara-sprite{width:80px;height:80px}.vs-indicator{font-size:28px}.opponent-card,.player-card{padding:10px;margin:0 4px}.power-button{padding:6px;font-size:.65rem}}
