:root{--font-retro: "Press Start 2P", monospace;--font-pixel: "Silkscreen", cursive;--font-readable: "VT323", monospace;--bg-dark: #0d0e15;--bg-panel: rgba(18, 20, 32, .88);--border-gold: #e5a93b;--border-dim: #3a3f58;--text-main: #f0f2f8;--text-muted: #8b93b5;--hp-red: #e63946;--mp-blue: #3a86ff;--xp-gold: #ffbe0b;--crit-yellow: #ffee32;--fire-orange: #f77f00;--light-amber: #ffeaa7;--poison-green: #2ec4b6}*{box-sizing:border-box;margin:0;padding:0;image-rendering:pixelated;-webkit-user-select:none;user-select:none}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-readable);font-size:20px;overflow:hidden;height:100vh;width:100vw}.crt-overlay:after{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);z-index:100;background-size:100% 4px,6px 100%;pointer-events:none;opacity:.6}.arcade-panel{background:var(--bg-panel);border:3px solid var(--border-dim);box-shadow:inset 2px 2px #ffffff26,inset -2px -2px #00000080,0 8px 24px #0009;border-radius:4px}.arcade-panel-gold{border-color:var(--border-gold);box-shadow:inset 2px 2px #ffeb964d,inset -2px -2px #0009,0 0 16px #e5a93b4d}.pixel-btn{font-family:var(--font-pixel);font-size:14px;background:#2a2e45;color:#fff;border:2px solid #5a628a;padding:8px 14px;cursor:pointer;box-shadow:inset 2px 2px #8490c2,inset -2px -2px #121421,0 4px #0f111c;transition:transform .05s,filter .1s;display:inline-flex;align-items:center;gap:8px;text-shadow:1px 1px 0 #000}.pixel-btn:hover{filter:brightness(1.15);border-color:var(--border-gold)}.pixel-btn:active{transform:translateY(2px);box-shadow:inset 2px 2px #121421,inset -2px -2px #8490c2,0 2px #0f111c}.pixel-btn.primary{background:#b52b36;border-color:#f75560;box-shadow:inset 2px 2px #ff8b93,inset -2px -2px #5e0d13,0 4px #3a080c}.pixel-btn.gold{background:#a37217;border-color:#ffd05b;box-shadow:inset 2px 2px #ffeaa7,inset -2px -2px #523707,0 4px #302003}@keyframes bounceUp{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1;transform:translateY(-20px) scale(1.2)}60%{opacity:1;transform:translateY(-38px) scale(1)}to{opacity:0;transform:translateY(-55px) scale(.85)}}.fct-damage{animation:bounceUp 1.1s cubic-bezier(.18,.89,.32,1.28) forwards;font-family:var(--font-retro);font-weight:700;text-shadow:2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}@keyframes screenShake{0%,to{transform:translate(0)}20%{transform:translate(-6px,4px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(4px,2px)}}.screen-shake{animation:screenShake .3s cubic-bezier(.36,.07,.19,.97) both}@keyframes idleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.sprite-idle{animation:idleFloat 2.2s ease-in-out infinite}@keyframes attackLunge{0%{transform:translate(0)}35%{transform:translate(45px) scale(1.08)}70%{transform:translate(50px) scale(1.08)}to{transform:translate(0)}}.sprite-attack{animation:attackLunge .45s ease-out forwards}@keyframes hurtRecoil{0%{transform:translate(0);filter:brightness(3) drop-shadow(0 0 10px #ff0000)}25%{transform:translate(-18px);filter:brightness(2) drop-shadow(0 0 8px #ff0000)}50%{transform:translate(-10px);filter:brightness(1.5)}to{transform:translate(0);filter:brightness(1)}}.sprite-hurt{animation:hurtRecoil .4s ease-out forwards}@keyframes koDissolve{0%{opacity:1;filter:brightness(2) grayscale(.2);transform:scale(1)}50%{opacity:.6;filter:brightness(.5) grayscale(.8) blur(1px);transform:scale(.95) translateY(10px)}to{opacity:0;filter:grayscale(1) blur(3px);transform:scale(.8) translateY(25px)}}.sprite-ko{animation:koDissolve .8s ease-out forwards}
