.v2-skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:12px}.v2-skill-grid .btn{white-space:normal;min-height:44px}.card .btn-row{flex-wrap:wrap}

#hero.motion-attack { animation: melee-strike .42s ease-out; }
#arena[data-cls=rogue] #hero.motion-attack { animation: bow-recoil .35s ease-out; }
#arena[data-cls=mage] #hero.motion-cast, #arena[data-cls=priest] #hero.motion-cast { animation: spell-channel .65s ease-out; }
#hero.motion-cast { animation: melee-strike .48s ease-out; }
#hero.motion-hurt, #mobIcon.motion-hurt { animation: combat-hurt .22s ease-out; }
#hero.motion-death, #mobIcon.motion-death { animation: combat-fall .65s forwards; }
.boss-phase-cue { position:absolute; left:50%; bottom:12px; transform:translateX(-50%); text-align:center; max-width:90%; color:#ffe1b2; font-size:12px; padding:6px 12px; background:#3b1528d9; border-radius:8px; pointer-events:none; z-index:5; }
.boss-phase-cue:empty { display:none; }
.boss-warning { box-shadow:inset 0 -20px 50px #b21d2844; }
@keyframes melee-strike { 0%,100%{translate:0 0;rotate:0deg} 35%{translate:-5px 0;rotate:-4deg} 65%{translate:18px -3px;rotate:6deg} }
@keyframes bow-recoil { 0%,100%{translate:0 0} 30%{translate:7px 0} 55%{translate:-8px 1px} }
@keyframes spell-channel { 0%,100%{translate:0 0;filter:brightness(1)} 50%{translate:0 -10px;filter:brightness(1.3) drop-shadow(0 0 12px #ad9bff)} }
@keyframes combat-hurt { 25%{translate:5px 0;filter:brightness(1.8)} 60%{translate:-4px 0} 100%{translate:0 0} }
@keyframes combat-fall { to{translate:0 20px;rotate:12deg;opacity:.35} }
@media(prefers-reduced-motion:reduce){ #hero,#mobIcon{animation:none!important} }
