.battle-page{min-height:100vh;padding-top:80px;position:relative;overflow:hidden}.battle-arena{max-width:1000px;margin:0 auto;padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl);min-height:calc(100vh - 80px)}.score-display{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg)}.player-score{flex:1;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-md)}.player-score.player{background:linear-gradient(135deg,rgba(79,195,247,.1),transparent);border:1px solid rgba(79,195,247,.2)}.player-score.cpu{background:linear-gradient(135deg,transparent,rgba(220,20,60,.1));border:1px solid rgba(220,20,60,.2);flex-direction:row-reverse;text-align:right}.player-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.player-score.player .player-avatar{background:linear-gradient(135deg,var(--celestial-blue),var(--celestial-dark));box-shadow:0 0 15px #4fc3f74d}.player-score.cpu .player-avatar{background:linear-gradient(135deg,var(--crimson),var(--crimson-dark));box-shadow:0 0 15px #dc143c4d}.player-info h3{font-size:.85rem;color:var(--text-primary);margin-bottom:4px}.player-info .score-value{font-family:Cinzel,serif;font-size:1.4rem;font-weight:900}.player-score.player .score-value{color:var(--celestial-blue)}.player-score.cpu .score-value{color:var(--crimson)}.vs-badge{font-family:Cinzel,serif;font-size:1.2rem;font-weight:900;color:var(--gold);text-shadow:0 0 20px rgba(212,175,55,.5);flex-shrink:0}.life-bars{display:flex;gap:var(--space-lg)}.life-bar-container{flex:1}.life-bar-label{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-dim);margin-bottom:4px}.life-bar{height:8px;background:#ffffff0d;border-radius:4px;overflow:hidden}.life-bar-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.life-bar-fill.player-bar{background:linear-gradient(90deg,var(--celestial-blue),var(--angel-secondary));box-shadow:0 0 10px #4fc3f766}.life-bar-fill.cpu-bar{background:linear-gradient(90deg,var(--crimson),var(--demon-secondary));box-shadow:0 0 10px #dc143c66}.battle-field{display:flex;justify-content:center;align-items:center;gap:var(--space-3xl);padding:var(--space-2xl) 0;position:relative;min-height:300px}.battle-slot{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.battle-slot-label{font-family:Cinzel,serif;font-size:.75rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.battle-slot-card{width:200px;height:290px;border:2px dashed rgba(255,255,255,.1);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.8rem;transition:all var(--transition-normal)}.battle-slot-card.has-card{border:none}.battle-vs{font-family:Cinzel,serif;font-size:2rem;font-weight:900;color:var(--gold);text-shadow:0 0 30px rgba(212,175,55,.5);animation:pulse 2s ease-in-out infinite}.battle-log{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md);padding:var(--space-md);max-height:80px;overflow-y:auto;font-size:.8rem;color:var(--text-secondary)}.battle-log-entry{padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03);animation:fadeIn .3s ease}.battle-log-entry:last-child{border-bottom:none}.battle-log-entry .win{color:var(--rarity-incomum)}.battle-log-entry .lose{color:var(--crimson)}.battle-log-entry .draw{color:var(--gold)}.player-hand-section{margin-top:auto}.hand-label{font-family:Cinzel,serif;font-size:.75rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:var(--space-md)}.player-hand{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.player-hand .card-wrapper{width:160px;height:230px;transition:all var(--transition-spring)}.player-hand .card-wrapper:hover{transform:translateY(-20px)}.player-hand .card-wrapper.selected{transform:translateY(-30px);filter:brightness(1.2)}.player-hand .card-wrapper.disabled{opacity:.4;pointer-events:none}.player-hand .card-art{height:80px}.battle-actions{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-md) 0}.battle-start-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3000;gap:var(--space-2xl)}.battle-start-screen h1{font-size:3rem;color:var(--gold);text-shadow:0 0 40px rgba(212,175,55,.5);animation:pulse 1.5s ease-in-out infinite}.battle-start-screen p{color:var(--text-secondary);font-size:1.1rem;max-width:400px;text-align:center}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;display:none;flex-direction:column;align-items:center;justify-content:center;z-index:3000;gap:var(--space-xl)}.result-overlay.active{display:flex;animation:fadeIn .5s ease}.result-overlay h1{font-size:3.5rem;animation:fadeInUp .6s ease}.result-overlay h1.victory{color:var(--gold);text-shadow:0 0 50px rgba(212,175,55,.6)}.result-overlay h1.defeat{color:var(--crimson);text-shadow:0 0 50px rgba(220,20,60,.6)}.result-stats{display:flex;gap:var(--space-2xl);animation:fadeInUp .6s ease .2s forwards;opacity:0}.result-stat{text-align:center}.result-stat-value{font-family:Cinzel,serif;font-size:2rem;font-weight:900;color:var(--gold)}.result-stat-label{font-size:.8rem;color:var(--text-dim);margin-top:4px}.result-actions{display:flex;gap:var(--space-lg);animation:fadeInUp .6s ease .4s forwards;opacity:0}@keyframes attackLeft{0%{transform:translate(0)}40%{transform:translate(80px) scale(1.1)}60%{transform:translate(80px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes attackRight{0%{transform:translate(0)}40%{transform:translate(-80px) scale(1.1)}60%{transform:translate(-80px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.attack-left{animation:attackLeft .8s ease}.attack-right{animation:attackRight .8s ease}.shake{animation:shake .3s ease}.round-announce{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Cinzel,serif;font-size:3rem;font-weight:900;color:var(--gold);text-shadow:0 0 40px rgba(212,175,55,.6);z-index:2500;animation:fadeInUp .5s ease,fadeIn .5s ease reverse 1.5s forwards;pointer-events:none}@media(max-width:768px){.score-display{flex-direction:column}.battle-field{flex-direction:column;gap:var(--space-lg)}.player-hand .card-wrapper{width:130px;height:190px}.player-hand .card-art{height:60px}.battle-start-screen h1{font-size:2rem}}
