.dealShow{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:9;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:12px;background:#173b32ed;border:1px solid #edcf8a;border-radius:22px;padding:20px 28px;box-shadow:0 10px 35px #0005;color:#ffedb9;text-align:center;width:270px}.dealShow strong{font-size:13px;line-height:1.4}.shuffleDeck{position:relative;width:130px;height:115px}.shuffleBack{position:absolute;top:calc(var(--i)*1px);left:calc(30px + var(--i)*.6px);width:65px;height:93px;display:grid;place-items:center;border:3px solid #fff1d0;border-radius:8px;color:#f3d294;background:repeating-linear-gradient(45deg,#254e58,#254e58 3px,#34646b 3px,#34646b 5px);box-shadow:0 2px 4px #0004;font:26px Georgia;animation:shuffle-riffle .8s cubic-bezier(.3,.1,.2,1) both;animation-delay:calc(var(--i)*16ms)}
@keyframes shuffle-riffle{0%{transform:translateX(0) rotate(0)}22%{transform:translateX(calc(var(--side)*55px)) rotate(calc(var(--side)*12deg)) translateY(-8px)}55%{transform:translateX(calc(var(--side)*35px)) rotate(calc(var(--side)*-7deg)) translateY(-12px)}80%{transform:translateX(calc(var(--side)*4px)) rotate(0)}100%{transform:translateX(0) rotate(0)}}
.dealShow.dealing{animation:deal-show-fade .85s ease-in both}.dealShow.dealing .shuffleBack{animation:deck-packet .5s ease-out both;animation-delay:calc(var(--i)*25ms)}@keyframes deck-packet{to{transform:translateY(35px) rotate(-4deg);opacity:0}}@keyframes deal-show-fade{0%,55%{opacity:1}100%{opacity:0}}
.cardCelebration{position:absolute;inset:0;z-index:7;pointer-events:none;display:flex;align-items:center;justify-content:center;flex-direction:column}.heartCelebration{gap:7px;background:radial-gradient(ellipse,#ffdb9d50,transparent 65%);animation:power-appear 1.25s ease-out both}.powerFace{display:grid;place-items:center;width:94px;height:132px;background:#fff6df;color:#ba2844;border:3px solid #eaca79;border-radius:13px;font:900 50px Georgia;box-shadow:0 0 0 5px #fff2cc45,0 0 55px #ffe2a7,0 12px 30px #0005;animation:power-card-land 1.25s cubic-bezier(.15,.7,.2,1) both}.heartCelebration strong{font:900 clamp(16px,3vw,26px) Georgia;letter-spacing:.15em;color:#fff1bc;background:#602739ed;padding:7px 14px;border:1px solid #f1d6a0;border-radius:30px;text-shadow:0 2px 3px #000}.heartCelebration small{color:#294535;font-weight:800;background:#ffedc5e8;padding:4px 9px;border-radius:12px}.powerImpact{animation:power-table-impact .45s ease-out}.trickCard.heartLanding{box-shadow:0 0 0 3px #f6d58c,0 0 32px #ffe6b2;filter:drop-shadow(0 0 9px #f8b992)}.trickCard.aceLanding{box-shadow:0 0 0 2px #d5b66a,0 0 20px #ffe6a8;animation:ace-landing .7s ease-out}.trickCard.kingLanding{box-shadow:0 0 0 1px #e9d5a1,0 0 10px #fae3ae;animation:king-landing .5s ease-out}
.rankCelebration{justify-content:flex-start;padding-top:24%;animation:rank-flourish .85s ease-out both}.rankCelebration strong{background:#173f35e8;color:#ffe1a1;border:1px solid #dbc07c;border-radius:30px;padding:8px 18px;letter-spacing:.18em;font:900 21px Georgia}.rankCelebration.king{animation-duration:.65s}.rankCelebration.king strong{font-size:16px;padding:5px 12px;letter-spacing:.1em}
@keyframes power-card-land{0%{opacity:0;transform:translateY(-120px) rotate(-20deg) scale(1.5)}25%{opacity:1;transform:translateY(0) rotate(5deg) scale(1.07)}38%{transform:translateY(-9px) rotate(-3deg) scale(1)}50%,72%{transform:translateY(0) rotate(0) scale(1)}100%{opacity:0;transform:translateY(16px) scale(.7)}}@keyframes power-appear{0%,100%{opacity:0}15%,78%{opacity:1}}@keyframes power-table-impact{0%,100%{translate:0 0}22%{translate:0 4px}45%{translate:0 -3px}70%{translate:0 1px}}@keyframes rank-flourish{0%{opacity:0;transform:translateY(15px) scale(.85)}25%,65%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-12px) scale(1.08)}}@keyframes ace-landing{0%{filter:brightness(1.6);scale:1.2}45%{scale:.97}100%{filter:brightness(1);scale:1}}@keyframes king-landing{0%{filter:brightness(1.25);scale:1.08}100%{filter:brightness(1);scale:1}}
@media(prefers-reduced-motion:reduce){.dealShow,.shuffleBack,.dealShow.dealing .shuffleBack,.cardCelebration,.powerFace,.powerImpact,.trickCard.aceLanding,.trickCard.kingLanding{animation:none!important}.heartCelebration{background:#f7e7bc55}.powerFace{width:70px;height:95px;font-size:37px}}

.trickCard.trumpLanding,.trickCard.trumpKingLanding,.trickCard.trumpAceLanding{box-shadow:0 0 0 3px #e3c37b,0 0 26px #ffe3a1;animation:trump-card-land .85s ease-out}
.trickCard.trumpKingLanding{box-shadow:0 0 0 3px #e8c66b,0 0 34px #ffe2a1;animation-duration:.95s}
.trickCard.trumpAceLanding{box-shadow:0 0 0 4px #f0cf72,0 0 42px #fff0b8;animation-duration:1.05s}
.rankCelebration.trumpEffect{padding-top:21%;animation:trump-flourish 1.1s ease-out both}.trumpEffect strong{font-size:23px;padding:10px 21px;background:linear-gradient(120deg,#3e4b2ded,#1b483fed);border:2px solid #ecd189;box-shadow:0 0 22px #e9d09080;color:#fff1ba;z-index:1}.trumpEffect.trumpKing strong{font-size:25px;box-shadow:0 0 30px #ecd395a0}.trumpEffect.trumpAce strong{font-size:27px;box-shadow:0 0 38px #fff0b6bd;border-color:#fff0b8}.trumpHalo{position:absolute;left:50%;top:50%;width:135px;height:135px;margin:-67px 0 0 -67px;border:2px solid #f6d98e;border-radius:50%;box-shadow:0 0 16px #f0cf7b80,inset 0 0 12px #efd08660;animation:trump-ring 1.05s ease-out both}.trumpKing .trumpHalo{width:155px;height:155px;margin:-77px 0 0 -77px;border-style:double;border-width:4px}.trumpAce .trumpHalo{width:175px;height:175px;margin:-87px 0 0 -87px;border-style:double;border-width:5px}
@keyframes trump-card-land{0%{scale:1.28;filter:brightness(1.7)}35%{scale:.95}65%{scale:1.03}100%{scale:1;filter:brightness(1)}}@keyframes trump-flourish{0%{opacity:0;transform:translateY(15px) scale(.75)}22%,72%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-10px) scale(1.09)}}@keyframes trump-ring{0%{opacity:0;scale:.5;rotate:-25deg}30%{opacity:1}100%{opacity:0;scale:1.35;rotate:35deg}}
@media(max-width:650px){.trumpEffect strong{font-size:18px}.trumpEffect.trumpKing strong{font-size:20px}.trumpEffect.trumpAce strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.rankCelebration.trumpEffect,.trumpHalo,.trickCard.trumpLanding,.trickCard.trumpKingLanding,.trickCard.trumpAceLanding{animation:none!important}.trumpHalo{opacity:.5}}
.renonceResultBox{position:relative;width:100%;box-sizing:border-box;margin:0 0 18px;padding:20px 48px 18px 20px;border-radius:16px;background:#173f34;color:#efffee;border:2px solid #91d3a2;box-shadow:0 14px 45px #0008;animation:renonce-notice-in .22s ease-out}.renonceResultBox.loss{background:#641e32;color:#fff2f1;border-color:#ef929d}.renonceResultBox strong{display:block;font-size:19px;line-height:1.3}.renonceResultBox p{font-size:14px;line-height:1.5;margin:9px 0 0}.renonceNoticeClose{position:absolute;right:8px;top:7px;background:transparent;color:inherit;border:0;font-size:28px;width:44px;height:44px;cursor:pointer}.renonceNoticeClose:focus-visible{outline:2px solid currentColor;border-radius:5px}@keyframes renonce-notice-in{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}@media(max-width:650px){.renonceResultBox{padding:16px 48px 15px 16px}.renonceResultBox strong{font-size:17px}}@media(prefers-reduced-motion:reduce){.renonceResultBox{animation:none}}

.rankCelebration.queen strong,.rankCelebration.jack strong{font-size:14px;padding:5px 10px;letter-spacing:.08em}
.rankCelebration.queen,.rankCelebration.jack{animation-duration:.55s}
.trickCard.queenLanding,.trickCard.jackLanding{box-shadow:0 0 0 1px #dfd5b1,0 0 8px #efdfb0}

.handCard[data-hand-aura]{--aura-colour:246,202,105;--aura-radius:12px;--aura-cycle:3s;border-color:rgb(var(--aura-colour));box-shadow:0 0 0 1px rgba(var(--aura-colour),.65),0 0 var(--aura-radius) rgba(var(--aura-colour),.6),0 4px 10px #0005}
.handCard[data-hand-aura="heart"]{--aura-colour:255,144,103;--aura-radius:30px;--aura-cycle:1.8s;border-color:#ffcf87}
.handCard[data-hand-aura="trumpAce"]{--aura-colour:255,225,139;--aura-radius:23px;--aura-cycle:2.2s}
.handCard[data-hand-aura="trumpKing"]{--aura-radius:18px;--aura-cycle:2.5s}
.handCard[data-hand-aura="trumpQueen"]{--aura-radius:13px;--aura-cycle:2.8s}
.handCard[data-hand-aura="trumpJack"]{--aura-radius:9px;--aura-cycle:3.1s}
.handCard[data-hand-aura="trumpNumber"]{--aura-colour:196,205,137;--aura-radius:5px;--aura-cycle:3.5s}
.handAuraGlow{position:absolute;inset:-2px;pointer-events:none;border-radius:inherit;border:2px solid rgba(var(--aura-colour),.9);box-shadow:0 0 var(--aura-radius) rgba(var(--aura-colour),.7),inset 0 0 8px rgba(var(--aura-colour),.3);animation:hand-aura-breathe var(--aura-cycle) ease-in-out infinite alternate}
@keyframes hand-aura-breathe{from{opacity:.25;scale:.99}to{opacity:.9;scale:1.025}}
@media(prefers-reduced-motion:reduce){.handAuraGlow{animation:none;opacity:.6}}

.achievementStatus{margin:10px 0 12px;padding:12px 15px;border:1px solid #d9b75f;border-radius:12px;background:linear-gradient(110deg,#3f4028,#184a3c);color:#ffe7a4;font-size:14px;font-weight:700;line-height:1.5}
.achievementNotice{position:fixed;top:max(86px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:10040;width:min(460px,calc(100vw - 24px));padding:18px 28px 22px;text-align:center;pointer-events:none;border:2px solid #e7c375;border-radius:22px;background:radial-gradient(ellipse at top,#53704a,#173e34 65%);color:#fff0be;box-shadow:0 0 38px #e6bd6455,0 18px 55px #0008;animation:achievement-enter .45s cubic-bezier(.15,.8,.25,1) both}
.achievementNotice.bavney{top:38dvh;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 24px));padding:28px 24px 32px;border:3px double #ffe6a0;background:radial-gradient(ellipse at 50% 20%,#735b2d,#244e3e 55%,#102f2c);box-shadow:0 0 0 6px #f5d18322,0 0 85px #f5d28280,0 22px 70px #000a}
.achievementClose{position:absolute;right:8px;top:6px;width:40px;height:40px;background:transparent;border:0;color:#ffedb7;font-size:28px;pointer-events:auto;cursor:pointer}
.achievementClose:focus-visible{outline:2px solid #ffe6a0;outline-offset:1px;border-radius:8px}
.achievementMedal{display:block;font-size:30px;line-height:1.2;margin:2px 0 5px}.bavney .achievementMedal{font-size:52px}
.achievementTitle{display:block;font:900 clamp(34px,8vw,50px)/1.1 Georgia,serif;letter-spacing:.08em;text-shadow:0 0 20px #f2d28d66}
.bavney .achievementTitle{font-size:clamp(48px,12vw,84px);letter-spacing:.06em;color:#fff0b7;text-shadow:0 2px 0 #926d2b,0 0 35px #f9dc9bb3}
.achievementWinner{margin:10px 0 7px;font-size:17px;line-height:1.4;font-weight:700}.redAchievement .achievementWinner{color:#ffb8ba}.blueAchievement .achievementWinner{color:#b7dfff}
.achievementPoints{display:inline-block;margin:0;padding:6px 13px;border-radius:18px;background:#ffdf9226;border:1px solid #e3c377;color:#ffe5a1;font-size:15px;font-weight:900;letter-spacing:.06em}.bavney .achievementPoints{font-size:23px;padding:8px 20px}
.achievementHint{margin:12px 0 0;font-size:13px;line-height:1.5;color:#f0ead0}.bavney .achievementHint{font-size:16px}
.achievementSparks{position:absolute;inset:-25px 0 0;overflow:visible;pointer-events:none;z-index:-1}
.achievementSparks i{position:absolute;left:var(--spark-x);top:0;width:5px;height:9px;border-radius:1px;background:#f3d183;opacity:0;animation:achievement-confetti 1.8s ease-out both;animation-delay:var(--spark-delay)}
.achievementSparks i:nth-child(3n){background:#86c8b1}.achievementSparks i:nth-child(3n + 1){background:#fff1c4}.bavney .achievementSparks i{width:8px;height:13px;animation-duration:2.5s}
@keyframes achievement-enter{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@keyframes achievement-confetti{0%{opacity:0;translate:0 -25px;rotate:0deg}15%{opacity:1}100%{opacity:0;translate:0 280px;rotate:var(--spark-turn)}}
@media(max-width:650px){.achievementNotice{top:max(72px,env(safe-area-inset-top));padding:15px 20px 18px}.achievementNotice.bavney{top:38dvh;padding:24px 18px 27px}.achievementWinner{font-size:15px}.bavney .achievementMedal{font-size:44px}}
@media(prefers-reduced-motion:reduce){.achievementNotice{animation:none}.achievementSparks{display:none}}

.terrace.dealing-hand .trumpPanel{visibility:hidden;pointer-events:none}

.shuffle-overhand .shuffleBack{animation-name:shuffle-overhand}
.shuffle-fan .shuffleBack{animation-name:shuffle-fan}
.shuffle-wash .shuffleBack{animation-name:shuffle-wash}
@keyframes shuffle-overhand{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(calc(var(--side)*25px),-16px) rotate(calc(var(--side)*5deg))}55%{transform:translate(calc(var(--side)*-18px),calc(var(--i)*-2px)) rotate(-7deg)}80%{transform:translate(0,5px) rotate(0)}}
@keyframes shuffle-fan{0%,100%{transform:translate(0,0) rotate(0)}35%,55%{transform:translate(calc((var(--i) - 5.5)*8px),-9px) rotate(calc((var(--i) - 5.5)*8deg));transform-origin:50% 110%}80%{transform:translate(calc(var(--side)*8px),0) rotate(calc(var(--side)*5deg))}}
@keyframes shuffle-wash{0%,100%{transform:translate(0,0) rotate(0)}28%{transform:translate(calc(var(--side)*36px),calc((var(--i) - 5.5)*4px)) rotate(calc(var(--side)*27deg))}58%{transform:translate(calc(var(--side)*-29px),calc((5.5 - var(--i))*3px)) rotate(calc(var(--side)*-34deg))}80%{transform:translate(calc(var(--side)*6px),0) rotate(calc(var(--side)*9deg))}}
/* Keep the deal exit animation above every shuffle variant. */
.dealShow.dealing .shuffleBack{animation-name:deck-packet}

.renonceResultBox.neutral{background:#243c4a;border-color:#a8c4d3;color:#f1f7fa}.renonceResultBox details{margin-top:10px;font-size:12px}.renonceResultBox summary{cursor:pointer;min-height:44px;align-content:center}.renonceResultBox details p{font-size:12px;overflow-wrap:anywhere}.renonceResultBox summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.renonceResultBox p,.renonceResultBox details{color:inherit;opacity:1}
.trumpHalo{pointer-events:none;z-index:7}.trumpHalo.trumpKing{width:155px;height:155px;margin:-77px 0 0 -77px;border-style:double;border-width:4px}.trumpHalo.trumpAce{width:175px;height:175px;margin:-87px 0 0 -87px;border-style:double;border-width:5px}
