/* Emerald felt, warm ivory cards and engraved gold details. */
dialog.trump-picker{border:2px solid #c3a05a;border-radius:24px;background:radial-gradient(ellipse at 50% 30%,#0b5639,#023624 75%);color:#f3e4b6;box-shadow:inset 0 0 0 4px #082f22,inset 0 0 0 5px #91723b,0 7px 0 #42351f,0 25px 70px #0008;padding:28px 23px 24px;isolation:isolate}dialog.trump-picker::before,dialog.trump-picker::after{content:'❧';position:absolute;pointer-events:none;font-family:Georgia,serif;color:#ad8c4c;opacity:.7;font-size:54px;line-height:1;z-index:-1}dialog.trump-picker::before{left:9px;top:7px;transform:rotate(-35deg)}dialog.trump-picker::after{right:9px;bottom:7px;transform:rotate(145deg)}dialog.trump-picker::backdrop{background:#001c14b8;backdrop-filter:blur(4px)}.picker-banner{width:100%;padding:7px 18px 6px;margin:9px auto 10px;background:none;border:0;box-shadow:none;transform:none;border-radius:0}.picker-banner::before,.picker-banner::after{position:static;display:inline;content:none;border:0;background:none}.trump-picker .picker-banner h2,html[lang=si] .trump-picker .picker-banner h2{font-family:system-ui,sans-serif;font-size:clamp(23px,6vw,36px);color:#f4e5b9;line-height:1.6;font-weight:750;text-shadow:0 2px 2px #0006}.picker-subtitle{display:block;font-family:Georgia,serif;color:#d6bb7b;letter-spacing:3.8px;font-size:11px;line-height:1.8;margin-top:3px}.picker-close{border:2px solid #b69650;background:radial-gradient(#154b34,#03281e);color:#f7da8c;box-shadow:0 2px 7px #0007;font-size:29px;right:10px;top:10px}.picker-hint{color:#bfd0af;font-size:11px;line-height:1.8;margin:4px 5px 15px}.picker-cards{padding:5px 0 8px;gap:10px;background:none;border-radius:0;box-shadow:none}.card,.picker-cards .card{background:linear-gradient(120deg,#fff9e8,#eee4c9);border:1px solid #d9cda9;box-shadow:0 3px 7px #0004;color:#131713;overflow:visible}.card.red{color:#c7252d}.card-face,.card-reverse{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}.card-face{background:linear-gradient(120deg,#fff9e8,#eee4c9);transform:rotateY(0deg);overflow:hidden}.card-art{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.card-reverse{background:#063b2a url('card-back.svg') center/100% 100% no-repeat;transform:rotateY(180deg)}.card{perspective:600px;background:none!important;transform-style:preserve-3d}.card.is-facedown .card-face{transform:rotateY(180deg)}.card.is-facedown .card-reverse{transform:rotateY(0deg)}.card.is-revealing .card-face{animation:card-face-turn .3s ease-in-out both}.card.is-revealing .card-reverse{animation:card-back-turn .3s ease-in-out both}@keyframes card-face-turn{from{transform:rotateY(180deg)}to{transform:rotateY(0deg)}}@keyframes card-back-turn{from{transform:rotateY(0deg)}to{transform:rotateY(-180deg)}}.picker-cards .card{border-radius:7px;aspect-ratio:100/145;box-shadow:0 6px 8px #00190f90}.picker-cards .picked-card{outline:2px solid #e0bd6b;outline-offset:2px;box-shadow:0 0 17px #e0bd6b50}.picker-suits{gap:14px;margin:19px 0 10px}.picker-suit{background:linear-gradient(145deg,#0a4a31,#00291d);border:2px solid #658c68;color:#f1e2b4;box-shadow:inset 0 1px 3px #aacb8d20,0 5px 9px #001b11b0;border-radius:15px;width:65px;height:65px;font-size:46px}.picker-suit.red{color:#dd2933}.picker-suit[aria-pressed=true]{border-color:#f6dda0;outline:0;transform:translateY(-2px);box-shadow:0 0 0 2px #ac863e,0 0 18px #dfb85080,inset 0 0 12px #d3b96a15}.picker-suit[aria-pressed=true]::after{content:'✓';position:absolute;top:-13px;right:-9px;width:25px;height:25px;border:2px solid #ffe7a5;border-radius:50%;background:radial-gradient(#d8b353,#916822);color:#fff8d7;display:grid;place-items:center;font:700 16px system-ui;box-shadow:0 0 9px #edc76680}.picker-selection{color:#e6c980;font-weight:500;margin:10px 0 14px}.picker-confirm{width:86%;min-height:62px;position:relative;border:2px solid #edcf82;background:linear-gradient(120deg,#edc96f,#fce4a2 33%,#c79132 74%,#e6bf64);box-shadow:inset 0 0 0 2px #c5913f,inset 0 0 0 4px #f7d991,0 4px 0 #775526,0 6px 15px #00180c99;border-radius:34px;color:#123824;padding:6px 28px;font-size:20px;text-shadow:0 1px #ffe8aa}.picker-confirm small{display:block;font:10px/1.6 Georgia,serif;letter-spacing:3px}.picker-confirm:disabled{background:linear-gradient(#627b60,#425b46);border-color:#728365;color:#adb69a;box-shadow:inset 0 0 0 2px #3c573c,0 4px 0 #243d2b;text-shadow:none}.picker-confirm:not(:disabled):active{box-shadow:inset 0 0 0 2px #c5913f,0 1px 0 #775526}.back,.deal-pile,.dealing-card{background:#063b2a url('card-back.svg') center/100% 100% no-repeat;border:1px solid #c8ac70}.deal-pile>span,.dealing-card>span{visibility:hidden}.dealing-card{animation-duration:.075s}.back{border-radius:3px}.picker-banner h2:before,.picker-banner h2:after{content:'❧';display:inline-block;color:#af8f48;font:20px Georgia,serif;margin:0 7px;vertical-align:middle}.picker-banner h2:after{transform:scaleX(-1)}
@media(max-width:390px){dialog.trump-picker{padding:25px 15px 20px}.trump-picker .picker-banner h2,html[lang=si] .trump-picker .picker-banner h2{font-size:23px}.picker-banner{padding:4px 0}.picker-banner h2:before,.picker-banner h2:after{font-size:15px;margin:0 3px}.picker-subtitle{font-size:9px;letter-spacing:2.5px}.picker-cards{gap:8px}.picker-suits{gap:11px;margin-top:16px}.picker-suit{width:53px;height:53px;font-size:38px}.picker-confirm{font-size:18px;min-height:57px}.picker-selection{font-size:11px}.picker-hint{font-size:10px}}
@media(orientation:landscape) and (max-height:550px){dialog.trump-picker{padding:12px 20px}.picker-banner{margin:0;padding:0;width:85%}.trump-picker .picker-banner h2,html[lang=si] .trump-picker .picker-banner h2{font-size:21px;line-height:1.4}.picker-subtitle{font-size:8px;letter-spacing:2px;margin:0;line-height:1.3}.picker-hint{font-size:9px;line-height:1.4;margin:1px 20px 4px}.picker-cards{gap:8px;padding:4px 0}.picker-suit{width:44px;height:44px;font-size:32px;border-radius:10px}.picker-suits{gap:8px;margin:5px 0}.picker-selection{font-size:10px;margin:2px}.picker-confirm{width:100%;font-size:15px;min-height:42px;padding:3px 15px}.picker-confirm small{font-size:8px}.picker-suit[aria-pressed=true]::after{width:19px;height:19px;font-size:12px;top:-10px;right:-5px}}
@media(prefers-reduced-motion:reduce){.card.is-revealing .card-face,.card.is-revealing .card-reverse{animation:none!important}.card.is-revealing .card-face{transform:rotateY(0deg)}.card.is-revealing .card-reverse{transform:rotateY(180deg)}}
/* Keep a complete card silhouette and full face, with a natural hand fan. */
.hand-zone{overflow:visible;padding:8px 14px 14px}.hand-label,html[lang=si] .hand-label{margin-bottom:6px}#hand{--hand-card-width:min(22cqw,calc(22dvh / 1.45),108px);--hand-card-height:calc(var(--hand-card-width)*1.45);display:flex;justify-content:center;align-items:flex-start;gap:0;height:calc(var(--hand-card-height) + 25px);min-height:0;padding:8px 10px 17px;overflow:visible;isolation:isolate}#hand .card{width:var(--hand-card-width);height:var(--hand-card-height);min-width:var(--hand-card-width);max-width:none;aspect-ratio:100/145;flex:0 0 var(--hand-card-width);padding:0;margin:0 0 0 calc(var(--hand-card-width)*-.58);border-radius:6px;transform-origin:50% 100%;transform:translateY(var(--fan-drop,0px)) rotate(var(--fan-angle,0deg));z-index:var(--fan-order,1);box-shadow:-2px 2px 5px #0004;transition:transform .16s ease,filter .16s ease}#hand .card:first-child{margin-left:0}#hand .card-face,#hand .card-reverse{inset:0;width:100%;height:100%}.card-art{width:100%;height:100%;overflow:visible}.card-face{overflow:hidden}.card-art text{paint-order:stroke;stroke-width:0}#hand .card:focus-visible{transform:translateY(-9px) rotate(var(--fan-angle,0deg));z-index:30;outline:3px solid #ecd28d}#hand .card.illegal{opacity:.57}#hand .trump-pick{outline-offset:1px}#hand .trump-pick:active{transform:translateY(-9px) rotate(var(--fan-angle,0deg))}#played{--pw:clamp(32px,20cqh,76px);--ph:calc(var(--pw)*1.45)}#played .card{aspect-ratio:100/145;padding:0}.picker-cards .card{aspect-ratio:100/145;height:auto;min-height:0;max-height:none;padding:0}.last-cards .card{width:72px;height:104.4px;margin:0;padding:0;aspect-ratio:100/145}@media(hover:hover){#hand button.card:not(:disabled):hover{transform:translateY(-12px) rotate(var(--fan-angle,0deg));z-index:30}}@media(orientation:landscape) and (max-height:600px){.hand-zone{padding:4px 12px 8px}#hand{--hand-card-width:min(19cqw,calc(20dvh / 1.45),85px);height:calc(var(--hand-card-height) + 18px);padding:5px 12px 13px}.hand-label,html[lang=si] .hand-label{margin-bottom:3px}}@media(orientation:portrait) and (max-height:650px){.hand-zone{padding:4px 10px 8px}#hand{--hand-card-width:min(22cqw,calc(19dvh / 1.45),90px);height:calc(var(--hand-card-height) + 20px);padding:5px 10px 15px}}@media(prefers-reduced-motion:reduce){#hand .card{transition:none}}
/* Animate only the newest play; collected cards share the winner's destination. */
#played .card{animation:none}#played .card.card-from-seat{animation:none;transition:none;z-index:5}#played .card.card-to-winner{animation:card-collect .42s cubic-bezier(.5,0,.7,.5) both;z-index:6}#played .card.card-to-winner.winner{outline-color:#dec985;box-shadow:0 0 12px #dec98544}@keyframes card-from-player{from{left:var(--seat-x);top:var(--seat-y);transform:translate(-50%,-50%) scale(.85) rotate(var(--seat-turn));opacity:.65}to{opacity:1}}@keyframes card-collect{15%{opacity:1}100%{left:var(--winner-x);top:var(--winner-y);transform:translate(-50%,-50%) rotate(15deg) scale(.2);opacity:0}}@media(prefers-reduced-motion:reduce){#played .card.card-from-seat,#played .card.card-to-winner{animation:none!important}}
/* Readable printed faces: keep the whole hand opaque, sharp, and larger. */
#hand{--hand-card-width:min(27cqw,calc(25dvh / 1.45),124px);height:calc(var(--hand-card-height) + 28px);padding-top:10px}#hand .card{margin-left:calc(var(--hand-card-width)*-.66);opacity:1;filter:none!important;transition:transform .13s ease;perspective:none;transform-style:flat;box-shadow:-1px 2px 3px #0005}#hand .card:first-child{margin-left:0}#hand .card.illegal{opacity:1;filter:none!important}#hand button.card:not(:disabled){outline:1px solid #d6ba76;outline-offset:0}#hand .card:disabled{opacity:1}#hand .card-face{transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;transform-style:flat}.card-art{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}#hand .card-reverse{display:none}#hand .is-facedown .card-face{visibility:hidden}#hand .is-facedown .card-reverse{display:block;transform:none}#hand .is-revealing{perspective:600px;transform-style:preserve-3d}#hand .is-revealing .card-face{visibility:visible;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:card-face-turn .3s ease-in-out both}#hand .is-revealing .card-reverse{display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:card-back-turn .3s ease-in-out both}#hand .card:focus-visible{outline:2px solid #ffe3a2;outline-offset:1px}#hand .trump-pick{box-shadow:-1px 2px 3px #0005;outline:2px solid #d6ba76}.card.is-facedown .card-art{visibility:hidden}@media(orientation:landscape) and (max-height:600px){#hand{--hand-card-width:min(22cqw,calc(23dvh / 1.45),100px);height:calc(var(--hand-card-height) + 20px)}}@media(orientation:portrait) and (max-height:650px){#hand{--hand-card-width:min(27cqw,calc(22dvh / 1.45),105px);height:calc(var(--hand-card-height) + 23px)}}@media(prefers-reduced-motion:reduce){#hand .is-revealing .card-face,#hand .is-revealing .card-reverse{animation:none!important}#hand .is-revealing .card-reverse{display:none}}
dialog::backdrop,dialog.trump-picker::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.trump-announcement{backdrop-filter:none;-webkit-backdrop-filter:none}
/* Lift only legal plays, with a light printed-face shade for other suits. */
#hand .card.playable{transform:translateY(calc(var(--fan-drop,0px) - 12px)) rotate(var(--fan-angle,0deg));outline:1px solid #f3d388;outline-offset:0;box-shadow:-1px 3px 5px #0005}#hand .card.illegal .card-face::after{content:'';position:absolute;inset:0;background:rgba(9,20,14,.18);border-radius:inherit;pointer-events:none}#hand .card.illegal{opacity:1;filter:none!important}#hand .card.playable:focus-visible{transform:translateY(calc(var(--fan-drop,0px) - 17px)) rotate(var(--fan-angle,0deg));z-index:30;outline:2px solid #ffe8ab}@media(hover:hover){#hand button.card.playable:hover{transform:translateY(calc(var(--fan-drop,0px) - 17px)) rotate(var(--fan-angle,0deg));z-index:30}}
/* Leave a clear strip for Nimal on tables with limited vertical space. */
@container (max-height:220px){.north{top:2%;flex-direction:row;align-items:center;max-width:70%;gap:5px}.north .avatar{width:23px;height:23px;font-size:10px}.north .backs,.north small{display:none}.north strong{font-size:10px}}
.trick-result{position:absolute;left:50%;top:52%;z-index:20;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 24px);padding:13px 20px;border:1px solid #d9bd70;border-radius:13px;background:linear-gradient(135deg,#235e3a,#0b3b29);color:#fff0b7;box-shadow:0 6px 22px #00180e70;pointer-events:none;animation:trick-result-flash 1s ease-in-out both}.trick-result[hidden]{display:none}.trick-result strong{font:700 clamp(15px,3.8vw,23px)/1.7 system-ui,sans-serif;text-align:center}.trick-result>span{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border:1px solid #e1c77e;border-radius:50%;font:700 23px/1 system-ui}.trick-result.trick-lost{background:linear-gradient(135deg,#6a3b31,#452f28);color:#ffe6cf;border-color:#d8aa89}.trick-result.trick-lost>span{border-color:#ddb496}@keyframes trick-result-flash{0%{opacity:0;transform:translate(-50%,-44%) scale(.95)}14%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-56%) scale(1)}}@media(orientation:landscape) and (max-height:450px){.trick-result{padding:8px 14px}.trick-result strong{font-size:16px}.trick-result>span{width:26px;height:26px;font-size:19px}}@media(prefers-reduced-motion:reduce){.trick-result{animation:none!important}}

.picker-suit:disabled{opacity:.3;filter:saturate(.25);cursor:not-allowed;box-shadow:none;transform:none}
#dialog.reset-confirm{text-align:center}
#dialog.reset-confirm #closeDialog{position:absolute;top:12px;right:14px;float:none}
#dialog.reset-confirm h2{margin:12px 14px 15px;line-height:1.5}
#dialog.reset-confirm p{margin:0 auto 22px;max-width:34em}
#dialog.reset-confirm .primary{display:block;width:min(100%,280px);max-width:none;margin:0 auto;line-height:1.7}
