.deal-wrap.dealing{animation:deal-in .5s cubic-bezier(.2,.75,.25,1) var(--d, 0ms) both}@keyframes deal-in{0%{translate:var(--dx, 0) var(--dy, 0);scale:.45;rotate:200deg;opacity:0}20%{opacity:1}}.deal-wrap.mucking{animation:muck .45s ease-in both}@keyframes muck{to{translate:var(--dx, 0) var(--dy, 0);scale:.4;rotate:-120deg;opacity:0}}.card.flip{animation:flip .5s cubic-bezier(.3,.7,.3,1) var(--fd, 0ms) both}@keyframes flip{0%{transform:perspective(500px) rotateY(180deg)}to{transform:perspective(500px) rotateY(0)}}.card.flip:after{content:"";position:absolute;inset:0;border-radius:inherit;border:max(2px,calc(var(--cw) * .06)) solid var(--bone);background:var(--card-back);animation:flip-back .5s var(--fd, 0ms) both}@keyframes flip-back{0%,49%{opacity:1}50%,to{opacity:0}}.board-in{display:inline-flex;animation:board-in .42s cubic-bezier(.2,.8,.25,1) var(--d, 0ms) both}@keyframes board-in{0%{translate:0 -3.2em;scale:.6;opacity:0}30%{opacity:1}}.felt-wrap.portrait .shuffle{top:0}.shuffle{position:absolute;left:50%;top:2.85em;translate:-50% 0;width:2.6em;height:3.64em;z-index:1}.shuffle i{position:absolute;inset:0;border-radius:.32em;border:2px solid var(--bone);background:var(--card-back);box-shadow:0 3px 8px #00000080}.shuffle .left{animation:riffle-l .8s ease-in-out infinite}.shuffle .right{animation:riffle-r .8s ease-in-out infinite}.shuffle .top{animation:riffle-top .8s ease-in-out infinite}@keyframes riffle-l{0%,to{translate:0 0;rotate:0deg}35%,55%{translate:-1.5em .2em;rotate:-14deg}}@keyframes riffle-r{0%,to{translate:0 0;rotate:0deg}35%,55%{translate:1.5em .2em;rotate:14deg}}@keyframes riffle-top{0%,30%,to{translate:0 0}60%{translate:0 -.5em}80%{translate:0 .1em}}.bet-chip{animation:bet-in .35s cubic-bezier(.2,.8,.3,1) both}@keyframes bet-in{0%{translate:var(--sx, 0) var(--sy, 0);scale:.6;opacity:0}}.pot-amt{display:inline-block;animation:pot-pop .4s ease-out}@keyframes pot-pop{40%{scale:1.2;color:#fff}}.fx-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.chip-fly{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;animation:chip-fly .6s cubic-bezier(.5,0,.3,1) var(--d, 0ms) both}@keyframes chip-fly{0%{translate:0 0;opacity:0}12%,85%{opacity:1}to{translate:var(--tx) var(--ty);opacity:0}}.win-float{position:absolute;translate:-50% -50%;white-space:nowrap;font-weight:900;font-size:1.25rem;color:var(--green);text-shadow:0 2px 8px rgba(0,0,0,.8);animation:float-up 1.7s ease-out var(--d, 0ms) both}@keyframes float-up{0%{opacity:0;transform:translateY(10px) scale(.7)}15%{opacity:1;transform:translateY(-24px) scale(1.15)}75%{opacity:1;transform:translateY(-40px) scale(1)}to{opacity:0;transform:translateY(-64px)}}.seat-info{position:relative}.action-bubble{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:6;white-space:nowrap;background:var(--card);color:var(--ink);font-weight:800;font-size:.8rem;padding:4px 11px;border-radius:999px;box-shadow:0 4px 12px #00000073;animation:bubble 1.5s ease both}.action-bubble.a-fold{background:var(--graphite);color:var(--stone)}.action-bubble.a-raise{background:var(--gold);color:var(--ink)}.action-bubble.a-call{background:var(--bone)}@keyframes bubble{0%{opacity:0;transform:translateY(8px) scale(.6)}12%{opacity:1;transform:translateY(0) scale(1.08)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.board{position:relative}.center:has(.win-plaque){z-index:6}.win-plaque{position:absolute;left:50%;top:calc(100% + .45em);translate:-50% 0;z-index:7;text-align:center;width:118%;max-width:92vw;padding:.3em 0 .35em;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.05em;background:linear-gradient(90deg,transparent,rgba(20,19,18,.9) 22%,rgba(20,19,18,.9) 78%,transparent);animation:plaque 5s ease both}.win-plaque:before,.win-plaque:after{content:"";position:absolute;left:6%;right:6%;height:2px;background:linear-gradient(90deg,transparent,var(--brass) 25%,#fff3d0 50%,var(--brass) 75%,transparent);box-shadow:0 0 10px #f0cf8ccc,0 0 22px #d98c3c73}.win-plaque:before{top:0}.win-plaque:after{bottom:0}.win-hand{font-size:1.55em;font-weight:900;line-height:1.1;letter-spacing:-.01em;white-space:nowrap;color:#fff7e2;text-shadow:0 0 14px rgba(240,207,140,.55),0 2px 4px rgba(0,0,0,.8)}.win-split{font-size:.62em;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--brass-2)}@keyframes plaque{0%{opacity:0;transform:scaleX(.4)}7%{opacity:1;transform:none}92%{opacity:1}to{opacity:0}}.seat{animation:seat-in .35s ease-out both}@keyframes seat-in{0%{opacity:0;scale:.85}}.seat.winner .seat-info{animation:winner-glow 1.1s ease-in-out 3}@keyframes winner-glow{50%{box-shadow:0 0 0 6px #4fc58a59,0 0 26px #4fc58a8c}}.dealer-btn{animation:pop-in .45s cubic-bezier(.3,1.6,.5,1) both}@keyframes pop-in{0%{scale:0}}.seat.me.acting .avatar{animation:my-turn 1.2s ease-in-out infinite}@keyframes my-turn{50%{box-shadow:0 0 0 7px #f0412b4d}}.dock-turn .dock-row.act>button{animation:rise-in .3s cubic-bezier(.2,.8,.3,1) both}.dock-turn .dock-row.act>button:nth-child(2){animation-delay:50ms}.dock-turn .dock-row.act>button:nth-child(3){animation-delay:.1s}@keyframes rise-in{0%{translate:0 14px;opacity:0}}.seat-cards{transition:translate .4s cubic-bezier(.2,.8,.3,1),scale .4s cubic-bezier(.2,.8,.3,1);transform-origin:50% 100%}.seat.win-show{z-index:4}.seat.win-show .seat-cards{translate:0 -16px;scale:1.45}.seat.me.win-show .seat-cards{translate:0 -10px;scale:1.18}.seat.top-half.win-show .seat-cards{translate:0 2px;scale:1.25}.seat:not(.top-half):not(.side-l):not(.side-r).win-show .seat-cards{translate:0 -2px;scale:1.15}.seat.me:not(.top-half):not(.side-l):not(.side-r).win-show .seat-cards{translate:0 -2px;scale:1.06}.seat.win-show .seat-cards{position:relative;z-index:5}.felt-wrap.compact .seat.win-show .seat-cards{translate:0 -8px;scale:1.3;transform-origin:0 50%}.card{transition:translate .35s ease,box-shadow .35s ease,filter .35s ease}.card.win-card{translate:0 -5px;box-shadow:0 0 0 2px var(--brass-2),0 0 16px 3px #f0cf8cbf,0 6px 14px #00000080;animation:win-card-pulse 1.4s ease-in-out .4s 3}.card.lose-card{filter:brightness(.5) saturate(.55)}@keyframes win-card-pulse{50%{box-shadow:0 0 0 2px #fff3d6,0 0 26px 6px #f0cf8ce6,0 6px 14px #00000080}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.card.flip:after{display:none}}
