@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.effect-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px currentColor}50%{box-shadow:0 0 20px currentColor}}.effect-pulse-glow{animation:pulseGlow 1s infinite}@keyframes healGlow{0%,to{box-shadow:0 0 5px #fbbf24,0 0 10px #fbbf24;border-color:#fbbf2480}50%{box-shadow:0 0 15px #fbbf24,0 0 25px #fbbf24;border-color:#fbbf24cc}}.effect-heal-glow{animation:healGlow 1s ease-in-out}@keyframes damageFlash{0%{border-color:#ef4444cc;box-shadow:0 0 20px #ef444499}to{border-color:#ffffff1a;box-shadow:none}}.effect-damage-flash{animation:damageFlash .5s ease-out}@keyframes magicShimmer{0%,to{box-shadow:0 0 5px #a855f7,0 0 10px #a855f7;border-color:#a855f780}50%{box-shadow:0 0 20px #a855f7,0 0 30px #a855f7;border-color:#a855f7e6}}.effect-magic-shimmer{animation:magicShimmer 1.5s ease-in-out}@keyframes fireFlicker{0%,to{box-shadow:0 0 8px #f97316,0 0 15px #ef4444;border-color:#f9731699}25%{box-shadow:0 0 15px #ef4444,0 0 25px #f97316;border-color:#ef4444cc}75%{box-shadow:0 0 12px #fbbf24,0 0 20px #f97316;border-color:#fbbf24b3}}.effect-fire-flicker{animation:fireFlicker .6s ease-in-out}@keyframes iceCrystallize{0%{box-shadow:0 0 5px #06b6d4;border-color:#06b6d480}50%{box-shadow:0 0 20px #22d3ee,0 0 30px #67e8f9;border-color:#67e8f9e6}to{box-shadow:0 0 10px #06b6d4;border-color:#06b6d499}}.effect-ice-crystallize{animation:iceCrystallize .8s ease-out}@keyframes lightningZap{0%,to{opacity:1;box-shadow:0 0 5px #fbbf24}10%,30%,50%,70%,90%{opacity:.8;box-shadow:0 0 30px #facc15,0 0 50px #fef08a;border-color:#fef08a}20%,40%,60%,80%{opacity:1;box-shadow:0 0 10px #fbbf24;border-color:#fbbf24b3}}.effect-lightning-zap{animation:lightningZap .4s ease-out}@keyframes poisonBubble{0%,to{box-shadow:0 0 5px #22c55e;border-color:#22c55e80}25%{box-shadow:0 0 15px #16a34a,0 0 25px #84cc16;border-color:#84cc16b3}75%{box-shadow:0 0 12px #a3e635,0 0 20px #22c55e;border-color:#a3e635cc}}.effect-poison-bubble{animation:poisonBubble 1s ease-in-out}@keyframes holyRadiance{0%{box-shadow:0 0 10px #fef08a,0 0 20px #fde047;border-color:#fef08a99}50%{box-shadow:0 0 30px #fbbf24,0 0 50px #fef08a,0 0 70px #fff;border-color:#fbbf24}to{box-shadow:0 0 15px #fde047,0 0 25px #fef08a;border-color:#fde047b3}}.effect-holy-radiance{animation:holyRadiance 1.2s ease-in-out}@keyframes damageFloat{0%{opacity:1;transform:translate(-50%) translateY(0) scale(.8)}15%{opacity:1;transform:translate(-50%) translateY(-8px) scale(1.2)}to{opacity:0;transform:translate(-50%) translateY(-40px) scale(.9)}}@keyframes deathFade{0%{opacity:1;filter:grayscale(0)}50%{filter:grayscale(100%)}to{opacity:.3;filter:grayscale(100%)}}.effect-death{animation:deathFade .8s ease-out forwards}@keyframes fogMove{0%{transform:translateZ(0)}to{transform:translate3d(-200vw,0,0)}}@keyframes vfxHitBurst{0%{transform:scale(.3);opacity:1}40%{transform:scale(1.4);opacity:.8}to{transform:scale(1.8);opacity:0}}@keyframes vfxSpellBurst{0%{transform:scale(.2);opacity:.9}30%{transform:scale(1.6);opacity:.7}60%{transform:scale(2);opacity:.4}to{transform:scale(2.4);opacity:0}}@keyframes vfxParticle{0%{opacity:1;transform:rotate(var(--angle, 0deg)) translateY(-4px) scale(1)}to{opacity:0;transform:rotate(var(--angle, 0deg)) translateY(-22px) scale(.3)}}@keyframes vfxIconPop{0%{transform:scale(0);opacity:1}30%{transform:scale(1.4);opacity:1}70%{transform:scale(1);opacity:.8}to{transform:scale(.6);opacity:0}}@keyframes vfxCritPop{0%{transform:translate(-50%) scale(.5) translateY(0);opacity:1}30%{transform:translate(-50%) scale(1.3) translateY(-6px);opacity:1}to{transform:translate(-50%) scale(.8) translateY(-20px);opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px) scale(.95);filter:blur(10px)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}.effect-slide-in{animation:slideIn .5s cubic-bezier(.16,1,.3,1) forwards}.effect-spin-slow{animation:spinSlow 3s linear infinite}.glass-panel{background:#0a051499;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.text-glow{text-shadow:0 0 10px rgba(168,85,247,.6)}.input-glow:focus{box-shadow:0 0 20px #fbbf244d,inset 0 0 10px #fbbf241a;border-color:#fbbf2499}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}html,body,#root{overflow-x:hidden;max-width:100vw}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1a1824}::-webkit-scrollbar-thumb{background:#555;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#cba156}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#1a182480;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#555c;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#cba156e6}.wax-seal{width:2rem;height:2rem;border-radius:50%;background:radial-gradient(circle,brown,#8b0000);box-shadow:inset -2px -2px 4px #0000004d,inset 2px 2px 4px #ffffff1a,0 2px 4px #8b000080}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-from-bottom{animation:slideInFromBottom .3s ease-out forwards}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spinSlow 8s linear infinite}@keyframes toolFadeIn{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}}.animate-tool-fade-in{animation:toolFadeIn .4s ease-out forwards}.font-display{font-family:Cinzel,serif}.font-serif{font-family:Merriweather,serif}::selection{background:#cba1564d;color:#e8dfcc}*:focus-visible{outline:2px solid rgba(203,161,86,.5);outline-offset:2px}.dark-leather-texture{background-image:url(https://www.transparenttextures.com/patterns/dark-leather.png)}.bg-rpg-blue{background-color:#488bb9}.text-rpg-blue{color:#488bb9}
