/* Poker: a calm card table in the app's colours (navy glass, warm ivory accents). */
html body dialog.poker-screen{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;border:0;background:radial-gradient(ellipse at 50% 30%,#18233a 0%,#0b111d 70%);color:#eee8da;overflow:auto;font-family:system-ui,-apple-system,"Hiragino Sans",sans-serif;}
.poker-screen::backdrop{background:#05080f;}
.poker-open{overflow:hidden;}
.pk-close{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;z-index:5;width:36px;height:36px;border:1px solid rgba(213,201,172,.3);border-radius:50%;background:rgba(15,22,36,.7);color:#eee8da;font-size:18px;cursor:pointer;}
/* Lobby */
.pk-lobby{max-width:440px;margin:0 auto;padding-top:18px;}
.pk-kicker{margin:0 0 4px;color:#999386;font:600 9px/1.2 system-ui,sans-serif;letter-spacing:.24em;}
.pk-lobby h2{margin:0;color:#f0ece3;font:700 26px/1.25 Georgia,"Yu Mincho",serif;}
.pk-balance{margin:6px 0 18px;color:#c6b790;font:700 13px system-ui,sans-serif;}
.pk-panel{margin-bottom:14px;padding:16px;border:1px solid rgba(213,201,172,.22);border-radius:16px;background:linear-gradient(150deg,rgba(27,35,49,.85),rgba(15,22,36,.9));}
.pk-panel h3{margin:0 0 12px;color:#f0ece3;font:700 15px/1.4 Georgia,"Yu Mincho",serif;}
.pk-panel label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#cfc8b8;font-size:13px;}
.pk-panel select,.pk-panel input{min-width:0;height:38px;padding:0 10px;border:1px solid rgba(213,201,172,.3);border-radius:10px;background:rgba(8,12,20,.6);color:#f0ece3;font:600 14px system-ui,sans-serif;}
.pk-field{display:flex;align-items:center;gap:6px;}.pk-field input{width:110px;text-align:right;}.pk-field em{font-style:normal;color:#999386;}
.pk-join{display:flex;gap:10px;}.pk-join input{flex:1;text-align:center;letter-spacing:.4em;font-size:18px;}
.pk-lobby button,.pk-actions button,.pk-quick button,.pk-leave{min-height:42px;padding:0 16px;border:1px solid rgba(213,201,172,.35);border-radius:12px;background:rgba(15,23,42,.5);color:#eee8da;font:700 13px system-ui,sans-serif;cursor:pointer;}
.pk-lobby .pk-primary,.pk-actions .pk-primary{background:#c6b790;border-color:transparent;color:#18202d;}
.pk-panel .pk-primary{width:100%;margin-top:6px;}
.pk-note{margin:4px 2px 0;color:#8f8a7e;font-size:11px;line-height:1.7;}
.pk-status{min-height:1.4em;margin:8px 0 0;color:#fca5a5;font-size:12px;text-align:center;}
/* Table */
.pk-table-view{display:flex;flex-direction:column;gap:12px;max-width:520px;min-height:100%;margin:0 auto;}
.pk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:44px;}
.pk-bar strong{display:block;color:#f0ece3;font:700 15px Georgia,"Yu Mincho",serif;}.pk-bar small{color:#999386;font-size:11px;}
.pk-leave{min-height:34px;padding:0 12px;font-size:12px;}
.pk-felt{position:relative;width:100%;aspect-ratio:1/1.05;max-height:58dvh;margin:0 auto;}
.pk-felt::before{content:"";position:absolute;inset:9% 6%;border-radius:46%;background:radial-gradient(ellipse at 50% 42%,#1f5a4b 0%,#143f37 55%,#0e2b28 100%);border:6px solid #2a2117;box-shadow:inset 0 0 0 2px rgba(198,183,144,.35),inset 0 18px 40px rgba(0,0,0,.35),0 14px 40px rgba(0,0,0,.5);}
.pk-center{position:absolute;inset:30% 14%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;}
.pk-board{display:flex;gap:4px;}
.pk-pot{margin:0;color:#f3e9cf;font:700 13px system-ui,sans-serif;letter-spacing:.04em;}
.pk-log{margin:0;min-height:1.3em;color:#cfe6dc;font-size:11px;opacity:.85;}
.pk-seat{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;transform:translate(-50%,-50%);transition:opacity .2s;}
.pk-plate{position:relative;min-width:72px;max-width:96px;padding:5px 9px;border:1px solid rgba(213,201,172,.35);border-radius:12px;background:rgba(10,16,28,.88);text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.4);}
.pk-plate strong{display:block;overflow:hidden;color:#f0ece3;font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.pk-stack{color:#c6b790;font:700 12px system-ui,sans-serif;font-variant-numeric:tabular-nums;}
.pk-dealer{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#f3eee2;color:#18202d;font:800 10px/20px system-ui;font-style:normal;box-shadow:0 1px 4px rgba(0,0,0,.5);}
.pk-seat.is-turn .pk-plate{border-color:#e9d9a6;box-shadow:0 0 0 2px rgba(233,217,166,.35),0 4px 14px rgba(0,0,0,.45);}
.pk-seat.is-me .pk-plate{background:rgba(24,34,52,.95);}
.pk-seat.is-folded,.pk-seat.is-out{opacity:.45;}
.pk-bet{padding:2px 8px;border-radius:10px;background:rgba(0,0,0,.45);color:#f3e9cf;font:700 11px system-ui,sans-serif;}
.pk-won{padding:3px 9px;border-radius:10px;background:#c6b790;color:#18202d;font:800 11px system-ui,sans-serif;white-space:nowrap;}
.pk-clock{color:#e9d9a6;font:700 10px system-ui,sans-serif;}
.pk-seat-cards{display:flex;gap:2px;}
/* Cards */
.pk-card{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:54px;border-radius:6px;background:linear-gradient(160deg,#fffdf7,#f1ead8);color:#1c1f26;box-shadow:0 2px 6px rgba(0,0,0,.45);font-family:Georgia,"Times New Roman",serif;line-height:1;}
.pk-card b{font-size:17px;font-weight:700;}.pk-card i{font-style:normal;font-size:15px;margin-top:2px;}
.pk-card.is-red{color:#b4232a;}
.pk-card.is-small{width:24px;height:34px;border-radius:4px;}.pk-card.is-small b{font-size:11px;}.pk-card.is-small i{font-size:10px;}
.pk-card.is-back{background:repeating-linear-gradient(45deg,#26324a 0 4px,#1d2740 4px 8px);border:1px solid rgba(198,183,144,.5);}
.pk-card.is-slot{background:transparent;border:1px dashed rgba(243,233,207,.25);box-shadow:none;}
/* My hand and actions */
.pk-me{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:auto;}
.pk-hole{display:flex;gap:8px;min-height:84px;}
.pk-hole .pk-card{width:58px;height:82px;border-radius:8px;}.pk-hole .pk-card b{font-size:26px;}.pk-hole .pk-card i{font-size:22px;}
.pk-hole.is-folded{opacity:.4;}
.pk-hand-name{min-height:1.2em;margin:0;color:#c6b790;font:700 13px Georgia,"Yu Mincho",serif;}
.pk-actions{width:100%;}
.pk-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;}
.pk-actions .pk-fold{color:#cfc8b8;}
.pk-wait{margin:6px 0;color:#cfc8b8;font-size:13px;text-align:center;}
.pk-actions>.pk-primary{display:block;width:100%;margin-top:6px;}
.pk-raise-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(213,201,172,.25);border-radius:14px;background:rgba(15,22,36,.85);}
.pk-raise-amount{text-align:center;color:#f0ece3;font:700 20px Georgia,serif;font-variant-numeric:tabular-nums;}
.pk-raise-panel input[type=range]{width:100%;accent-color:#c6b790;}
.pk-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}.pk-quick button{min-height:34px;padding:0 4px;font-size:11px;}
.pk-hand-name{align-self:center;text-align:center;}
.pk-sub{margin:8px 0 0;color:#8f8a7e;font-size:11px;}
.pk-lobby .pk-howto{display:block;width:100%;margin:0 0 12px;background:transparent;border-style:dashed;color:#c6b790;}
.pk-final{font:700 15px Georgia,"Yu Mincho",serif;color:#f0ece3;}
/* Tutorial */
html body dialog.pk-tutorial{width:min(420px,calc(100vw - 32px));max-height:92dvh;box-sizing:border-box;overflow:auto;padding:22px 20px 18px;border:1px solid rgba(213,201,172,.3);border-radius:20px;background:linear-gradient(150deg,rgba(27,35,49,.98),rgba(13,19,32,.99));color:#eee8da;box-shadow:0 24px 60px rgba(0,0,0,.6);}
.pk-tutorial::backdrop{background:rgba(4,7,13,.7);}
.pkt-title{margin:0 0 12px;color:#f0ece3;font:700 19px/1.35 Georgia,"Yu Mincho",serif;}
.pkt-scene{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:230px;padding:14px 10px;border-radius:18px;background:radial-gradient(ellipse at 50% 40%,#1f5a4b 0%,#143f37 60%,#0e2b28 100%);box-shadow:inset 0 0 0 2px rgba(198,183,144,.3),inset 0 14px 30px rgba(0,0,0,.35);overflow:hidden;}
.pkt-text{min-height:4.5em;margin:14px 2px 10px;color:#ddd6c6;font-size:13.5px;line-height:1.75;}
.pkt-row{display:flex;gap:6px;justify-content:center;}
.pkt-hole .pk-card,.pkt-flipper{width:52px;height:74px;}
.pkt-hole .pk-card b{font-size:22px;}.pkt-hole .pk-card i{font-size:19px;}
.pkt-flipper{position:relative;display:inline-block;}
.pkt-flipper .pk-card{position:absolute;inset:0;}
.pkt-caption,.pkt-labels span{color:#cfe6dc;font-size:11px;letter-spacing:.06em;}
.pkt-labels{gap:52px;}
.pkt-hand{margin:0;padding:4px 14px;border-radius:12px;background:#c6b790;color:#18202d;font:800 14px Georgia,"Yu Mincho",serif;}
.pkt-ranks{width:100%;margin:0;padding:0;list-style:none;display:grid;gap:3px;}
.pkt-ranks li{display:grid;grid-template-columns:9.5em 1fr;gap:8px;align-items:baseline;padding:2px 8px;border-radius:6px;background:rgba(0,0,0,.18);}
.pkt-ranks strong{color:#f3e9cf;font-size:12px;}.pkt-ranks span{color:#bcd4ca;font-size:10.5px;}
.pkt-ranks li:nth-child(-n+3) strong{color:#e9d9a6;}
.pkt-moves{width:100%;display:grid;gap:6px;}
.pkt-move{position:relative;display:grid;grid-template-columns:6em 1fr;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(243,233,207,.18);border-radius:10px;background:rgba(0,0,0,.2);}
.pkt-move strong{color:#f3e9cf;font-size:13px;}.pkt-move span{color:#bcd4ca;font-size:11px;}
.pkt-chip{position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:radial-gradient(circle,#f3eee2 30%,#c6b790 32%,#c6b790 60%,#8d7a4c 62%);box-shadow:0 1px 3px rgba(0,0,0,.5);}
.pkt-pot{padding:6px 16px;border:1px dashed rgba(243,233,207,.4);border-radius:14px;color:#f3e9cf;font:700 12px system-ui,sans-serif;}
.pkt-pot.is-win{font-size:16px;border-style:solid;}
.pkt-winner{padding:5px 14px;border-radius:12px;background:#c6b790;color:#18202d;font:800 15px Georgia,"Yu Mincho",serif;}
.pkt-table{position:relative;width:88%;height:170px;border-radius:50%;border:4px solid #2a2117;background:rgba(0,0,0,.12);}
.pkt-seat{position:absolute;display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(213,201,172,.35);border-radius:10px;background:rgba(10,16,28,.9);transform:translate(-50%,-50%);}
.pkt-seat strong{color:#f0ece3;font-size:11px;}
.pkt-seat.is-a{left:50%;top:100%;}.pkt-seat.is-b{left:4%;top:38%;}.pkt-seat.is-c{left:96%;top:38%;}
.pkt-dealer,.pkt-blind{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font:800 10px system-ui;}
.pkt-dealer{background:#f3eee2;color:#18202d;}
.pkt-blind{background:#3b6f62;color:#f3e9cf;}.pkt-blind.is-big{background:#c6b790;color:#18202d;}
.pkt-dots{display:flex;justify-content:center;gap:6px;margin-bottom:12px;}
.pkt-dots span{width:7px;height:7px;border-radius:50%;background:rgba(243,233,207,.25);transition:background .2s,transform .2s;}
.pkt-dots span.is-on{background:#c6b790;transform:scale(1.25);}
.pkt-nav{display:grid;grid-template-columns:1fr 2fr;gap:8px;}
.pkt-nav button,.pkt-skip{min-height:42px;border:1px solid rgba(213,201,172,.35);border-radius:12px;background:rgba(15,23,42,.5);color:#eee8da;font:700 13px system-ui,sans-serif;cursor:pointer;}
.pkt-nav .pk-primary{background:#c6b790;border-color:transparent;color:#18202d;}
.pkt-nav button:disabled{opacity:.35;}
.pkt-skip{display:block;margin:8px auto 0;min-height:30px;padding:0 14px;border:0;background:none;color:#8f8a7e;font-size:12px;}
@media(prefers-reduced-motion:no-preference){
  .pkt-in{animation:pktIn .45s cubic-bezier(.2,.8,.2,1) var(--d,0s) both;}
  .pkt-flip{animation:pktIn .4s cubic-bezier(.2,.8,.2,1) var(--d,0s) both,pktFlipOut .25s ease-in calc(var(--d,0s) + .75s) forwards;}
  .pkt-flip-face{animation:pktFlipIn .3s ease-out calc(var(--d,0s) + 1s) both;}
  .pkt-best{animation:pktIn .45s cubic-bezier(.2,.8,.2,1) var(--d,0s) both,pktGlow .6s ease-out 1.3s forwards;}
  .pkt-dim{animation:pktIn .45s cubic-bezier(.2,.8,.2,1) var(--d,0s) both,pktDim .6s ease-out 1.3s forwards;}
  .pkt-chip{animation:pktChip .8s cubic-bezier(.4,0,.2,1) var(--d,0s) both;}
  .pkt-pot.is-win{animation:pktIn .45s var(--d,0s) both,pktPulse 1.4s ease-in-out 1s infinite;}
  .pkt-dealer,.pkt-blind{animation:pktPop .35s cubic-bezier(.2,.9,.3,1.4) var(--d,0s) both;}
}
@media(prefers-reduced-motion:reduce){.pkt-flip{display:none;}.pkt-dim{opacity:.35;}.pkt-best{box-shadow:0 0 0 2px #e9d9a6;}}
@keyframes pktIn{from{transform:translateY(10px) scale(.94);opacity:0}to{transform:none;opacity:1}}
@keyframes pktFlipOut{to{transform:rotateY(90deg);opacity:0}}
@keyframes pktFlipIn{from{transform:rotateY(-90deg);opacity:0}to{transform:none;opacity:1}}
@keyframes pktGlow{to{transform:translateY(-6px);box-shadow:0 0 0 2px #e9d9a6,0 8px 18px rgba(233,217,166,.35)}}
@keyframes pktDim{to{opacity:.32}}
@keyframes pktChip{0%{transform:translate(0,0);opacity:0}15%{opacity:1}100%{transform:translate(-120px,90px) scale(.7);opacity:0}}
@keyframes pktPulse{50%{box-shadow:0 0 18px rgba(233,217,166,.45)}}
@keyframes pktPop{from{transform:scale(0)}to{transform:scale(1)}}
/* Table motion (poker-fx.js adds these classes only to what just changed). */
@media(prefers-reduced-motion:no-preference){
.pk-lobby>*{animation:pkRise .5s cubic-bezier(.2,.8,.2,1) both;}
.pk-lobby>*:nth-child(2){animation-delay:.04s}.pk-lobby>*:nth-child(3){animation-delay:.08s}.pk-lobby>*:nth-child(4){animation-delay:.14s}.pk-lobby>*:nth-child(5){animation-delay:.2s}.pk-lobby>*:nth-child(6){animation-delay:.26s}.pk-lobby>*:nth-child(n+7){animation-delay:.32s}
.pk-lobby button,.pk-actions button,.pk-quick button,.pk-leave{transition:transform .12s ease,background-color .2s ease,box-shadow .2s ease;}
.pk-lobby button:active,.pk-actions button:active,.pk-quick button:active,.pk-leave:active{transform:scale(.95);}
.pk-actions .pk-buttons button{animation:pkRise .32s cubic-bezier(.2,.8,.2,1) both;}
.pk-actions .pk-buttons button:nth-child(2){animation-delay:.05s}.pk-actions .pk-buttons button:nth-child(3){animation-delay:.1s}
.pk-raise-panel{animation:pkRise .28s cubic-bezier(.2,.8,.2,1) both;}
.pk-felt::before{animation:pkFeltIn .7s cubic-bezier(.2,.8,.2,1) both;}
.pk-seat.is-turn .pk-plate{animation:pkTurnGlow 1.6s ease-in-out infinite;}
.pk-seat.is-new-turn .pk-plate{animation:pkTurnStart .5s cubic-bezier(.2,.9,.25,1.3) both,pkTurnGlow 1.6s .5s ease-in-out infinite;}
.pk-clock:not(:empty){animation:pkThink 1.2s ease-in-out infinite;}
.pk-seat.is-winner .pk-plate{animation:pkWinner 1.1s calc(.8s + var(--w,0s)) ease-out 2 both;}
.pk-seat.is-winner .pk-won{animation:pkPop .5s calc(.9s + var(--w,0s)) cubic-bezier(.2,.9,.25,1.4) both;}
.pk-bet.is-new{animation:pkPop .4s cubic-bezier(.2,.9,.25,1.5) both;}
.pk-stack.is-up{animation:pkStackUp 1s ease-out both;}
.pk-stack.is-down{animation:pkStackDown .8s ease-out both;}
.pk-pot.is-bump{animation:pkBump .45s cubic-bezier(.2,.9,.25,1.4) both;}
.pk-card.pk-dealt{animation:pkDealt .5s var(--d,0s) cubic-bezier(.2,.8,.25,1) both;}
.pk-card.pk-dealt-me{animation:pkDealtMe .9s var(--d,0s) cubic-bezier(.2,.8,.25,1) both;}
.pk-card.pk-turnover{animation:pkTurnover .55s var(--d,0s) cubic-bezier(.2,.8,.25,1) both;}
.pk-card.pk-reveal{animation:pkTurnover .55s var(--d,0s) cubic-bezier(.2,.8,.25,1) both;}
.pk-card.pk-dealt-me::after,.pk-card.pk-turnover::after,.pk-card.pk-reveal::after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(45deg,#26324a 0 4px,#1d2740 4px 8px);box-shadow:inset 0 0 0 1px rgba(198,183,144,.5);animation:pkBackHide .55s var(--d,0s) both;}
.pk-card.pk-dealt-me::after{animation-name:pkBackHideLate;animation-duration:.9s;}
}
.pk-fx{position:absolute;inset:0;z-index:4;pointer-events:none;}
.pk-fx>*{position:absolute;}
.pk-fly-chip{width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle,#f3e9cf 0 30%,#c6b790 31% 55%,#8c7a4f 56% 62%,#e9d9a6 63%);box-shadow:0 2px 4px rgba(0,0,0,.5);opacity:0;animation:pkChipFly .65s var(--d,0s) cubic-bezier(.3,.7,.3,1) forwards;}
.pk-fly-card{width:24px;height:34px;margin:-17px 0 0 -12px;border-radius:4px;background:repeating-linear-gradient(45deg,#26324a 0 4px,#1d2740 4px 8px);box-shadow:inset 0 0 0 1px rgba(198,183,144,.5),0 2px 6px rgba(0,0,0,.45);animation:pkCardAway .6s var(--d,0s) ease-in forwards;}
.pk-act{translate:-50% -50%;padding:4px 10px;border-radius:999px;background:rgba(243,238,226,.95);color:#18202d;font:800 11px/1.2 system-ui,sans-serif;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.45);animation:pkSay 1.4s cubic-bezier(.2,.9,.25,1.2) forwards;}
.pk-act.is-raise,.pk-act.is-allin{background:#e9d9a6;box-shadow:0 0 0 2px rgba(233,217,166,.35),0 4px 14px rgba(0,0,0,.45);}
.pk-act.is-fold{background:rgba(60,66,80,.95);color:#cfc8b8;}
.pk-win-text{translate:-50% -50%;color:#f3e9cf;font:800 18px Georgia,serif;text-shadow:0 0 12px rgba(233,217,166,.8),0 2px 6px rgba(0,0,0,.7);opacity:0;animation:pkWinText 1.6s var(--d,0s) ease-out forwards;}
.pk-spark{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#f3e9cf;box-shadow:0 0 10px #e9d9a6;opacity:0;animation:pkSpark .9s var(--d,0s) cubic-bezier(.1,.8,.25,1) forwards;}
.pk-confetti{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;}
.pk-confetti i{position:absolute;top:-16px;width:8px;height:12px;border-radius:2px;animation:pkConfetti 3.2s var(--d,0s) cubic-bezier(.3,.6,.4,1) forwards;}
@media(prefers-reduced-motion:reduce){.pk-fx,.pk-confetti{display:none;}}
@keyframes pkRise{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@keyframes pkFeltIn{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
@keyframes pkTurnGlow{0%,100%{box-shadow:0 0 0 2px rgba(233,217,166,.35),0 4px 14px rgba(0,0,0,.45)}50%{box-shadow:0 0 0 5px rgba(233,217,166,.18),0 0 22px rgba(233,217,166,.45)}}
@keyframes pkTurnStart{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes pkThink{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes pkWinner{0%{box-shadow:0 0 0 0 rgba(233,217,166,.8),0 4px 12px rgba(0,0,0,.4);transform:scale(1)}40%{transform:scale(1.08)}100%{box-shadow:0 0 0 18px rgba(233,217,166,0),0 4px 12px rgba(0,0,0,.4);transform:scale(1)}}
@keyframes pkPop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}
@keyframes pkStackUp{0%{color:#fff6dc;text-shadow:0 0 12px #e9d9a6}100%{color:#c6b790;text-shadow:none}}
@keyframes pkStackDown{0%{color:#f0a8a8}100%{color:#c6b790}}
@keyframes pkBump{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
@keyframes pkDealt{0%{transform:translate(var(--dx),var(--dy)) rotate(-40deg) scale(.6);opacity:0}15%{opacity:1}100%{transform:none;opacity:1}}
@keyframes pkDealtMe{0%{transform:translate(var(--dx),var(--dy)) rotate(-30deg) scale(.45) rotateY(180deg);opacity:0}12%{opacity:1}60%{transform:rotateY(180deg)}100%{transform:none;opacity:1}}
@keyframes pkTurnover{0%{transform:translateY(-14px) scale(.8) rotateY(180deg);opacity:0}25%{opacity:1}100%{transform:none;opacity:1}}
@keyframes pkBackHide{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes pkBackHideLate{0%,79%{opacity:1}80%,100%{opacity:0}}
@keyframes pkChipFly{0%{transform:scale(.5);opacity:0}12%{opacity:1;transform:scale(1)}85%{opacity:1}100%{transform:translate(var(--tx),var(--ty));opacity:0}}
@keyframes pkCardAway{0%{transform:none;opacity:1}100%{transform:translate(var(--tx),var(--ty)) rotate(var(--r)) scale(.7);opacity:0}}
@keyframes pkSay{0%{transform:translateY(8px) scale(.5);opacity:0}18%{transform:translateY(-4px) scale(1.08);opacity:1}30%{transform:none}80%{opacity:1;transform:translateY(-6px)}100%{opacity:0;transform:translateY(-14px)}}
@keyframes pkWinText{0%{transform:translateY(10px) scale(.6);opacity:0}20%{transform:scale(1.15);opacity:1}70%{opacity:1;transform:translateY(-12px)}100%{opacity:0;transform:translateY(-26px)}}
@keyframes pkSpark{0%{opacity:1;transform:rotate(var(--a)) translateY(-20px)}100%{opacity:0;transform:rotate(var(--a)) translateY(-70px) scale(.3)}}
@keyframes pkConfetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translate(var(--x),105dvh) rotate(var(--r));opacity:.9}}
/* Board cards a little smaller, so side seats never cover them at a full table. */
.pk-board .pk-card{width:32px;height:46px;}.pk-board .pk-card b{font-size:15px;}.pk-board .pk-card i{font-size:13px;}
.pk-plate{min-width:64px;max-width:88px;}
/* Result of the hand per seat, and the player's hand help. */
.pk-lost{padding:2px 8px;border-radius:10px;background:rgba(60,30,36,.85);color:#f0a8a8;font:800 11px system-ui,sans-serif;}
.pk-card.is-part{box-shadow:0 0 0 2px #e9d9a6,0 0 14px rgba(233,217,166,.6),0 2px 6px rgba(0,0,0,.45);translate:0 -3px;}
.pk-help{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;}
.pk-help-top{display:flex;align-items:center;justify-content:center;gap:10px;}
.pk-help .pk-hand-name{display:flex;align-items:baseline;gap:8px;}
.pk-help .pk-hand-name strong{color:#e9d9a6;font:700 15px Georgia,"Yu Mincho",serif;}
.pk-help .pk-hand-name small{color:#b9b2a2;font:600 11px system-ui,sans-serif;}
.pk-ranks-open{min-height:28px;padding:0 10px;border:1px solid rgba(213,201,172,.35);border-radius:999px;background:transparent;color:#c6b790;font:700 11px system-ui,sans-serif;cursor:pointer;}
.pk-draws{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;}
.pk-draws li{display:flex;align-items:baseline;gap:5px;padding:4px 10px;border:1px solid rgba(213,201,172,.22);border-radius:999px;background:rgba(15,22,36,.7);color:#cfc8b8;font-size:11px;}
.pk-draws strong{color:#f0ece3;font-size:12px;}.pk-draws em{font-style:normal;color:#9fd5c2;font-weight:700;}
.pk-draws li.is-big{border-color:rgba(233,217,166,.55);}
.pk-draws li.pk-tip{color:#d9d2c2;}
.pk-raise-title{margin:0;text-align:center;color:#f0ece3;font:700 14px system-ui,sans-serif;}
.pk-raise-line{display:flex;align-items:center;justify-content:center;gap:10px;}
.pk-step{width:44px;height:44px;border:1px solid rgba(213,201,172,.35);border-radius:50%;background:rgba(15,23,42,.6);color:#f0ece3;font:700 22px/1 system-ui;cursor:pointer;}
.pk-raise-input{width:110px;height:46px;border:1px solid rgba(213,201,172,.45);border-radius:12px;background:rgba(8,12,20,.7);color:#f0ece3;text-align:center;font:700 24px Georgia,serif;font-variant-numeric:tabular-nums;}
.pk-raise-note{margin:0;text-align:center;color:#b9b2a2;font-size:11px;}
html body dialog.pk-ranks-sheet{width:min(420px,calc(100vw - 24px));max-height:92dvh;box-sizing:border-box;overflow:auto;padding:20px 16px 16px;border:1px solid rgba(213,201,172,.3);border-radius:20px;background:linear-gradient(150deg,rgba(27,35,49,.98),rgba(13,19,32,.99));color:#eee8da;box-shadow:0 24px 60px rgba(0,0,0,.6);}
.pk-ranks-sheet::backdrop{background:rgba(4,7,13,.7);}
.pk-ranks-sheet h2{margin:0 0 12px;color:#f0ece3;font:700 18px Georgia,"Yu Mincho",serif;}
.pk-ranks-list{display:grid;gap:6px;margin:0 0 10px;padding:0;list-style:none;}
.pk-ranks-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid rgba(213,201,172,.14);border-radius:12px;background:rgba(0,0,0,.2);}
.pk-ranks-list li.is-now{border-color:#e9d9a6;background:rgba(233,217,166,.12);box-shadow:0 0 0 1px rgba(233,217,166,.4);}
.pk-ranks-list li.is-reach{border-color:rgba(159,213,194,.55);}
.pk-rank-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pk-rank-text strong{color:#f3e9cf;font-size:13px;}.pk-rank-text span{color:#b9b2a2;font-size:10.5px;}
.pk-rank-tag{align-self:flex-start;margin-top:2px;padding:1px 8px;border-radius:999px;background:#e9d9a6;color:#18202d;font:800 10px system-ui;font-style:normal;}
.pk-rank-tag.is-reach{background:#9fd5c2;}
.pk-rank-cards{display:flex;gap:2px;flex:none;}
.pk-ranks-sheet .pk-primary{display:block;width:100%;min-height:42px;border:0;border-radius:12px;background:#c6b790;color:#18202d;font:700 14px system-ui;}
@media(prefers-reduced-motion:no-preference){
.pk-card.is-part{transition:translate .25s ease,box-shadow .25s ease;}
.pk-draws li{animation:pkRise .35s cubic-bezier(.2,.8,.2,1) both;}
.pk-draws li:nth-child(2){animation-delay:.06s}.pk-draws li:nth-child(3){animation-delay:.12s}
.pk-ranks-list li{animation:pkRise .4s calc(var(--i) * .04s) cubic-bezier(.2,.8,.2,1) both;}
.pk-ranks-list li.is-now{animation:pkRise .4s calc(var(--i) * .04s) cubic-bezier(.2,.8,.2,1) both,pkNow 1.6s .6s ease-in-out infinite;}
.pk-lost{animation:pkPop .4s .9s cubic-bezier(.2,.9,.25,1.4) both;}
}
@keyframes pkNow{0%,100%{box-shadow:0 0 0 1px rgba(233,217,166,.4)}50%{box-shadow:0 0 0 4px rgba(233,217,166,.15),0 0 16px rgba(233,217,166,.35)}}
.pk-ranks-open{flex:none;white-space:nowrap;}
.pk-help .pk-hand-name{flex-wrap:wrap;justify-content:center;row-gap:2px;}
/* While choosing an amount, the hand help steps aside so the buttons stay on screen. */
.pk-me.is-raising .pk-help{display:none;}
.pk-raise-panel{gap:8px;padding:10px 12px;}
/* Lobby: two tabs, and every setting as a row of buttons to tap. */
.pk-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;padding:4px;border:1px solid rgba(213,201,172,.22);border-radius:14px;background:rgba(10,16,28,.6);}
.pk-lobby .pk-tab{min-height:40px;border:0;border-radius:10px;background:transparent;color:#a8a293;font:700 14px system-ui,sans-serif;}
.pk-lobby .pk-tab[aria-selected=true]{background:#c6b790;color:#18202d;}
.pk-setting{margin:0 0 14px;}
.pk-setting-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 7px;color:#cfc8b8;font-size:12px;font-weight:700;}
.pk-setting-label small{color:#8f8a7e;font-weight:400;font-size:10.5px;}
.pk-pills{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:6px;}.pk-quick-row{display:flex;flex-wrap:wrap;gap:6px;}
.pk-lobby .pk-pill{flex:1 0 auto;min-width:0;min-height:38px;padding:0 10px;border:1px solid rgba(213,201,172,.28);border-radius:999px;background:rgba(8,12,20,.5);color:#d9d2c2;font:700 13px system-ui,sans-serif;font-variant-numeric:tabular-nums;}
.pk-lobby .pk-pill[aria-checked=true]{border-color:#e2cf9b;background:rgba(226,207,155,.18);color:#f3e9cf;box-shadow:0 0 0 2px rgba(226,207,155,.18);}
.pk-quick-row{margin:-6px 0 14px;}.pk-lobby .pk-quick-row .pk-pill{min-height:32px;font-size:12px;}
.pk-buyin{display:flex;align-items:center;gap:8px;}
.pk-buyin input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid rgba(213,201,172,.3);border-radius:12px;background:rgba(8,12,20,.6);color:#f3e9cf;font:700 20px system-ui,sans-serif;text-align:right;}
.pk-buyin em{font-style:normal;color:#999386;}
.pk-check{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:rgba(198,183,144,.1);color:#e7dcc0;font-size:12px;line-height:1.5;}
.pk-check.is-bad{background:rgba(231,163,163,.1);color:#f1b4b4;}
.pk-table-panels .pk-sub{margin-top:8px;}
@media(prefers-reduced-motion:no-preference){.pk-lobby .pk-pill{transition:background .15s,border-color .15s,transform .1s;}.pk-lobby .pk-pill:active{transform:scale(.95);}.pk-tab-body>*{animation:pk-pane-in .2s ease-out;}}
@keyframes pk-pane-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pk-lobby .pk-panel>h3+.pk-sub{margin:-4px 0 14px;}
/* Any amount: a box under the quick choices. */
.pk-amount-field{display:grid;gap:8px;}
.pk-blind-free[hidden]{display:none;}
.pk-blind-free span{color:#d5c9ac;font-weight:700;}
.pk-blind-free em{font-size:12px;}
