.dragging-card,.dragging-card *{cursor:grabbing}.card-dragging{z-index:1000;pointer-events:none;transform-origin:center;transition:transform .15s ease-out,filter .15s ease-out}.card-drag-preview{position:fixed;pointer-events:none;z-index:9999;opacity:.8;transform:scale(.9);filter:drop-shadow(0 8px 16px rgba(0,0,0,.4))}.valid-drop-target{background-color:rgba(34,197,94,.15);border-color:rgb(34,197,94);box-shadow:0 0 20px rgba(34,197,94,.3);animation:pulse-green 1.5s infinite}.invalid-drop-target{background-color:rgba(239,68,68,.15);border-color:rgb(239,68,68);box-shadow:0 0 20px rgba(239,68,68,.3);animation:pulse-red 1.5s infinite}.successful-drop{background-color:rgba(34,197,94,.3);animation:success-flash .3s ease-out}.card-hover{transform:translateY(-8px) scale(1.05);filter:brightness(1.1) saturate(1.1);box-shadow:0 8px 25px rgba(0,0,0,.4);z-index:100;transition:all .2s cubic-bezier(.4,0,.2,1)}.hand-card{transition:all .25s cubic-bezier(.4,0,.2,1)}.hand-card,.hand-card:hover{cursor:grab}.hand-card:active{cursor:grabbing}.hand-card.dragging{opacity:.5;cursor:grabbing}.grid-cell{transition:all .2s ease-out;cursor:pointer}.grid-cell:hover{transform:scale(1.02)}.grid-cell.player-controlled,.grid-cell.player-controlled:hover{cursor:grab}.grid-cell.player-controlled:active{cursor:grabbing}@keyframes pulse-green{0%,to{box-shadow:0 0 20px rgba(34,197,94,.3)}50%{box-shadow:0 0 30px rgba(34,197,94,.6)}}@keyframes pulse-red{0%,to{box-shadow:0 0 20px rgba(239,68,68,.3)}50%{box-shadow:0 0 30px rgba(239,68,68,.6)}}@keyframes success-flash{0%{background-color:rgba(34,197,94,.6);transform:scale(1.02)}to{background-color:rgba(34,197,94,.1);transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.shake-animation{animation:shake .4s ease-in-out}@keyframes bounce-back{0%{transform:scale(1.1)}50%{transform:scale(.95)}to{transform:scale(1)}}.bounce-back-animation{animation:bounce-back .4s cubic-bezier(.175,.885,.32,1.275)}@media (hover:none) and (pointer:coarse){.grid-cell,.grid-cell.player-controlled,.hand-card{cursor:default}.grid-cell,.hand-card{min-height:44px;min-width:44px}}@media (prefers-reduced-motion:reduce){.card-dragging,.grid-cell,.hand-card,.invalid-drop-target,.valid-drop-target{transition:none;animation:none}}.grid-cell:focus-visible{outline:2px solid rgb(59,130,246);outline-offset:2px}.hand-card:focus-visible{outline:2px solid rgb(59,130,246);outline-offset:2px}