/* Presentation effects stay within the card table. */
.landlord-game #table-effects{position:absolute;inset:0;z-index:16;overflow:hidden;pointer-events:none;display:grid;place-items:center}
.landlord-game #table-effects[hidden],.landlord-game #table-result[hidden]{display:none!important}
.landlord-game .table-fx{position:absolute;top:34%;left:50%;display:flex;flex-direction:column;align-items:center;min-width:180px;padding:15px 32px;border:1px solid #ffeec98c;border-radius:50%;color:#fff0bb;text-shadow:0 3px 0 #94552a,0 0 22px #b26622;background:radial-gradient(ellipse,#b46625c7 0%,#b4662566 45%,#b4662500 73%);transform:translate(-50%,-50%);animation:table-fx-burst 1.45s ease both}
.landlord-game .table-fx-emblem{font-size:64px;line-height:1;color:#fff5cc;filter:drop-shadow(0 3px 0 #9c552b)}
.landlord-game .table-fx-title{font-size:38px;font-weight:900;line-height:1.35;letter-spacing:5px;white-space:nowrap}
.landlord-game .table-fx-subtitle{font-size:11px;font-weight:600;letter-spacing:1px;text-shadow:0 1px 3px #704a25}
.landlord-game .table-fx-rocket{background:radial-gradient(ellipse,#a74147d6,#ae465d4d 55%,transparent 75%)}
.landlord-game .table-fx-airplane .table-fx-emblem{animation:table-fx-flight 1.3s ease both}
.landlord-game .table-fx-straight{background:radial-gradient(ellipse,#326c89c9,#326c894d 50%,transparent 73%);text-shadow:0 3px 0 #346177,0 0 18px #468e9c}
.landlord-game #hand.dealing .playing-card{animation:table-card-deal .38s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--deal-index,0)*32ms);pointer-events:none}
.landlord-game .public-cards.played-in{animation:table-play-in .34s cubic-bezier(.16,.75,.3,1) both}
.landlord-game #table-result{position:absolute;inset:0;z-index:20;display:flex;justify-content:center;align-items:flex-start;padding:100px 16px 25px;background:linear-gradient(#34515a38,#78542f61 65%,#78542f28);backdrop-filter:blur(3px);overflow:auto;overscroll-behavior:contain}
.landlord-game .table-result-card{width:min(100%,470px);padding:25px 22px 20px;border:2px solid #fff0bd;border-radius:24px;background:linear-gradient(155deg,#fff7da,#f9e5b9);box-shadow:0 10px 50px #42321644,inset 0 0 0 4px #dfb96d4d;text-align:center;color:#74572f;animation:table-result-enter .3s ease both}
.landlord-game .table-result-kicker{color:#9c7845;font-size:11px;letter-spacing:2px}
.landlord-game .table-result-title{margin:8px 0 5px;font-size:32px;font-weight:850;letter-spacing:2px;color:#b46424;text-shadow:0 2px #fff9df}
.landlord-game .result-lost .table-result-title{color:#526e7c}
.landlord-game .table-result-team{margin:0;font-size:13px;line-height:1.6;color:#93723f}
.landlord-game .table-result-summary{margin:12px 0 0;font-size:12px;line-height:1.6;color:#765223;font-weight:700}
.landlord-game .table-result-players{display:grid;gap:8px;margin:20px 0 12px;text-align:left}
.landlord-game .table-result-player{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid #e6d6b6;border-radius:12px;background:#fffdf5a6}
.landlord-game .table-result-player.winner{border-color:#dbb867;background:#fff8df}
.landlord-game .table-result-player.result-me{box-shadow:inset 3px 0 #c79140}
.landlord-game .table-result-avatar{width:39px;height:39px;object-fit:cover;border:2px solid #fffae9;border-radius:12px;box-shadow:0 2px 4px #795a3220}
.landlord-game .table-result-person{min-width:0}
.landlord-game .table-result-person strong{display:block;font-size:12px;font-weight:750;overflow-wrap:anywhere}
.landlord-game .table-result-person span,.landlord-game .table-result-score span{display:block;font-size:10px;line-height:1.6;color:#9a8768}
.landlord-game .table-result-score{text-align:right}
.landlord-game .table-result-score strong{display:block;color:#8f6731;font-size:14px;font-weight:800;white-space:nowrap}
.landlord-game .table-result-player.winner .table-result-score strong{color:#bf7528}
.landlord-game .table-result-note{font-size:11px;line-height:1.6;color:#9b8057;margin:12px 0}
.landlord-game .table-result-close{min-width:145px;min-height:42px;padding:9px 23px;border:1px solid #be8f3f;border-radius:22px;background:linear-gradient(#ffedb0,#efbf63);box-shadow:inset 0 1px #fff8d7,0 3px 0 #ae7b37;color:#7a4e23;font-family:inherit;font-weight:700;font-size:14px;line-height:1.5;cursor:pointer}
.landlord-game .table-result-close:hover{filter:brightness(1.04)}
.landlord-game .table-result-close:focus-visible{outline:3px solid #486f7a;outline-offset:4px}
@keyframes table-card-deal{from{opacity:0;translate:0 -60px;scale:.82}to{opacity:1;translate:0 0;scale:1}}
@keyframes table-play-in{from{opacity:0;translate:var(--play-origin-x,0px) var(--play-origin-y,30px);scale:.87}to{opacity:1;translate:0 0;scale:1}}
@keyframes table-fx-burst{0%{opacity:0;scale:.65}18%{opacity:1;scale:1.08}32%,70%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}
@keyframes table-fx-flight{0%{translate:-100px 18px;rotate:-12deg}45%{translate:0 0;rotate:-12deg}100%{translate:130px -30px;rotate:-12deg}}
@keyframes table-result-enter{from{opacity:0;translate:0 12px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@media(max-width:480px){.landlord-game #table-result{padding:72px 10px 18px}.landlord-game .table-result-card{padding:22px 12px 17px;border-radius:19px}.landlord-game .table-result-title{font-size:29px}.landlord-game .table-result-player{grid-template-columns:34px minmax(0,1fr) auto;gap:7px;padding:9px 7px}.landlord-game .table-result-avatar{width:34px;height:34px}.landlord-game .table-result-score strong{font-size:13px}.landlord-game .table-result-score span{max-width:112px;font-size:9px}.landlord-game .table-fx{top:37%;min-width:150px}.landlord-game .table-fx-title{font-size:34px}}
@media(prefers-reduced-motion:reduce){.landlord-game .table-fx,.landlord-game .table-fx-emblem,.landlord-game #hand.dealing .playing-card,.landlord-game .public-cards.played-in,.landlord-game .table-result-card{animation:none!important;transition:none!important}}
