/* Video poker machine: shared by every machine-style free poker page. All rules are scoped to #pcg-vp. */
#pcg-vp{--purple:#421b6e;--deep:#1a0a2e;--panel:#2a1247;--line:#4d2d78;--gold:#f5c542;--lgold:#ffe08a;--red:#d0263a;--green:#3ccf86;--orange:#ff8a3d;--card:#fffdf8;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#f5f1fa;max-width:980px;margin:0 auto 1.5rem}
#pcg-vp *,#pcg-vp *::before,#pcg-vp *::after{box-sizing:border-box}
#pcg-vp .vp-tabs{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .6rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
#pcg-vp .vp-tab{flex:0 0 auto;padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--line);background:var(--panel);color:#f5f1fa;font:600 .9rem inherit;font-family:inherit;cursor:pointer;min-height:44px;white-space:nowrap}
#pcg-vp .vp-tab small{font-size:.7rem;color:var(--lgold);margin-left:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
#pcg-vp .vp-tab[aria-selected="true"]{background:var(--gold);color:#2b1700;border-color:var(--gold)}
#pcg-vp .vp-tab[aria-selected="true"] small{color:#5a3a00}
#pcg-vp .vp-tab:disabled{opacity:.5;cursor:not-allowed}
#pcg-vp .vp-machine{border:2px solid var(--line);border-radius:18px;padding:1rem;background:linear-gradient(180deg,var(--purple),var(--deep));box-shadow:0 18px 50px rgba(0,0,0,.4)}
#pcg-vp .vp-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem .8rem;margin-bottom:.6rem}
#pcg-vp .vp-name{font-size:clamp(1.2rem,3.4vw,1.7rem);font-weight:800;color:var(--lgold)}
#pcg-vp .vp-tag{font-size:.82rem;color:#cdbfe0}
#pcg-vp .vp-payw{border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.28);overflow:hidden}
#pcg-vp .vp-pay{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
#pcg-vp .vp-pay td{padding:.28rem .5rem;border-bottom:1px solid rgba(77,45,120,.6);text-align:right;color:var(--gold);font-weight:700}
#pcg-vp .vp-pay td:first-child{text-align:left;color:#f5f1fa;font-weight:600}
#pcg-vp .vp-pay tr:last-child td{border-bottom:0}
#pcg-vp .vp-pay td.on{background:rgba(208,38,58,.55);color:#fff}
#pcg-vp .vp-pay tr.dealt td{background:rgba(245,197,66,.14)}
#pcg-vp .vp-pay tr.dealt td.on{background:rgba(208,38,58,.7)}
#pcg-vp .vp-pay tr.win td{animation:vpflash .5s steps(2,end) 4}
@keyframes vpflash{50%{background:var(--gold);color:#2b1700}}
#pcg-vp .vp-msg{min-height:2.6em;margin:.8rem 0;text-align:center;font-size:1.05rem;font-weight:700;color:var(--lgold)}
#pcg-vp .vp-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.3rem,1.6vw,.8rem);margin:0 auto;max-width:640px}
#pcg-vp .vp-card{position:relative;aspect-ratio:5/7;border-radius:10px;border:2px solid #d7cfc0;background:var(--card);color:#1a1a1a;padding:0;cursor:pointer;font-family:inherit;transition:transform .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
#pcg-vp .vp-card .r{font-size:clamp(1.3rem,5.4vw,2.4rem);font-weight:800}
#pcg-vp .vp-card .s{font-size:clamp(1.3rem,5.4vw,2.3rem);margin-top:.1em}
#pcg-vp .vp-card.red{color:var(--red)}
#pcg-vp .vp-card.back{background:repeating-linear-gradient(45deg,#5b2a93 0 8px,#421b6e 8px 16px);border-color:var(--lgold);color:transparent}
#pcg-vp .vp-card.held{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 0 0 3px var(--gold)}
#pcg-vp .vp-card.held::after{content:"HELD";position:absolute;left:50%;bottom:-1.35rem;transform:translateX(-50%);font-size:.7rem;font-weight:800;letter-spacing:.06em;color:var(--gold)}
#pcg-vp .vp-card.hint{outline:3px dashed var(--green);outline-offset:3px}
#pcg-vp .vp-card:disabled{cursor:default}
#pcg-vp .vp-card.flip{animation:vpflip .28s ease-out}
@keyframes vpflip{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}
#pcg-vp .vp-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.8rem 0 .8rem}
#pcg-vp .vp-meter{border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.28);padding:.4rem .6rem;text-align:center}
#pcg-vp .vp-ml{display:block;font-size:.68rem;letter-spacing:.1em;color:#cdbfe0;font-weight:700}
#pcg-vp .vp-mv{font-size:20px;font-weight:800;color:var(--lgold);font-variant-numeric:tabular-nums}
#pcg-vp .vp-btns{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:.5rem}
#pcg-vp .vp-btn{min-height:48px;padding:.5rem .8rem;border-radius:12px;border:1.5px solid var(--line);background:var(--panel);color:#f5f1fa;font:800 .9rem inherit;font-family:inherit;letter-spacing:.04em;cursor:pointer}
#pcg-vp .vp-btn:hover:not(:disabled){border-color:var(--gold)}
#pcg-vp .vp-btn:disabled{opacity:.45;cursor:not-allowed}
#pcg-vp .vp-deal{min-height:56px;font-size:1.15rem;background:linear-gradient(180deg,#ffd75e,#e0a800);color:#2b1700;border-color:#e0a800}
#pcg-vp .vp-coach{margin-top:.8rem;min-height:3em;padding:.6rem .8rem;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.22);font-size:.92rem;color:#e9def5}
#pcg-vp .vp-coach.hint{border-color:var(--green)}
#pcg-vp .vp-coach.ok{border-color:var(--green);color:var(--green)}
#pcg-vp .vp-coach.better{border-color:var(--orange)}
#pcg-vp .vp-extras{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;align-items:center;justify-content:space-between;margin-top:.8rem}
#pcg-vp .vp-switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600}
#pcg-vp .vp-switch input{position:absolute;opacity:0;width:1px;height:1px}
#pcg-vp .vp-sw{width:42px;height:24px;border-radius:99px;background:#3b2c52;border:1px solid var(--line);position:relative;transition:background .15s}
#pcg-vp .vp-sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}
#pcg-vp .vp-switch input:checked+.vp-sw{background:var(--green)}
#pcg-vp .vp-switch input:checked+.vp-sw::after{transform:translateX(18px)}
#pcg-vp .vp-stats{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.85rem;color:#cdbfe0}
#pcg-vp .vp-stats b{color:var(--lgold);margin-left:.2rem}
#pcg-vp .vp-refill{min-height:42px;font-size:.82rem}
#pcg-vp .vp-keys{margin:.9rem 0 0;font-size:.78rem;color:#bba9d3}
#pcg-vp kbd{padding:.05rem .35rem;border:1px solid var(--line);border-radius:5px;background:var(--panel);font:inherit;font-size:.75rem}
#pcg-vp .vp-foot{margin:.6rem 0 0;padding-top:.6rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--green)}
#pcg-vp .vp-machine:focus-within button:focus-visible,#pcg-vp .vp-tab:focus-visible,#pcg-vp input:focus-visible+.vp-sw{outline:3px solid var(--lgold);outline-offset:2px}

/* ---------- arcade layer: animation ---------- */
#pcg-vp .vp-machine{position:relative;overflow:hidden;animation:vpglow 4.5s ease-in-out infinite}
@keyframes vpglow{0%,100%{box-shadow:0 18px 50px rgba(0,0,0,.4),0 0 0 0 rgba(245,197,66,0)}50%{box-shadow:0 18px 50px rgba(0,0,0,.4),0 0 38px 3px rgba(245,197,66,.3)}}
#pcg-vp .vp-machine::before{content:"";position:absolute;inset:-40%;background:radial-gradient(closest-side,rgba(255,122,184,.16),transparent 70%) 20% 30%/60% 60% no-repeat,radial-gradient(closest-side,rgba(124,240,255,.12),transparent 70%) 80% 70%/60% 60% no-repeat;animation:vpdrift 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes vpdrift{from{transform:translate(-4%,-3%) rotate(0)}to{transform:translate(4%,3%) rotate(8deg)}}
#pcg-vp .vp-machine>*{position:relative}
#pcg-vp .vp-bulbs{height:12px;margin:0 0 .8rem}
#pcg-vp .vp-bulbs::before,#pcg-vp .vp-bulbs::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,var(--lgold) 0 3.5px,transparent 4px) 0 0/26px 12px repeat-x;animation:vpblink 1s steps(1) infinite}
#pcg-vp .vp-bulbs::after{background:radial-gradient(circle at 50% 50%,#ff7ab8 0 3.5px,transparent 4px) 13px 0/26px 12px repeat-x;animation-direction:reverse}
@keyframes vpblink{0%{opacity:1}50%{opacity:.2}}
#pcg-vp .vp-machine.celebrate .vp-bulbs::before,#pcg-vp .vp-machine.celebrate .vp-bulbs::after{animation-duration:.22s}
#pcg-vp .vp-tab{transition:transform .18s,background .2s,border-color .2s,box-shadow .2s}
#pcg-vp .vp-tab:hover:not(:disabled){transform:translateY(-2px);border-color:var(--gold)}
#pcg-vp .vp-tab[aria-selected="true"]{box-shadow:0 0 18px rgba(245,197,66,.55);animation:vptabpop .35s}
@keyframes vptabpop{0%{transform:scale(.92)}60%{transform:scale(1.07)}100%{transform:scale(1)}}
#pcg-vp .vp-machine.switching .vp-payw,#pcg-vp .vp-machine.switching .vp-top{animation:vpslide .4s ease-out}
@keyframes vpslide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#pcg-vp .vp-pay tr.dealt td{animation:vpsweep 1.1s ease-in-out infinite alternate}
@keyframes vpsweep{from{filter:brightness(1)}to{filter:brightness(1.35)}}
#pcg-vp .vp-msg.pop{animation:vppop .38s ease-out}
@keyframes vppop{0%{transform:scale(.9);opacity:.4}60%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
#pcg-vp .vp-card{will-change:transform}
#pcg-vp .vp-card.deal{animation:vpdeal .46s cubic-bezier(.2,.9,.3,1.15) backwards;animation-delay:var(--d,0ms)}
@keyframes vpdeal{0%{opacity:0;transform:translate(-150%,-130%) rotate(-22deg) scale(.5)}55%{opacity:1}100%{opacity:1;transform:none}}
#pcg-vp .vp-card.flip{animation:vpflip .4s ease-out backwards;animation-delay:var(--d,0ms)}
@keyframes vpflip{0%{transform:rotateY(90deg) scale(.88);opacity:.2}100%{transform:rotateY(0) scale(1);opacity:1}}
#pcg-vp .vp-card:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.35)}
#pcg-vp .vp-card.held{animation:vpheld .32s cubic-bezier(.3,1.7,.5,1)}
@keyframes vpheld{0%{transform:translateY(0)}100%{transform:translateY(-8px)}}
#pcg-vp .vp-card.held::after{animation:vptag .3s ease-out}
@keyframes vptag{from{opacity:0;transform:translateX(-50%) scale(.4)}to{opacity:1;transform:translateX(-50%) scale(1)}}
#pcg-vp .vp-card.hint{animation:vphint 1.2s ease-in-out infinite}
@keyframes vphint{0%,100%{box-shadow:0 0 0 0 rgba(60,207,134,.45)}50%{box-shadow:0 0 20px 5px rgba(60,207,134,.6)}}
#pcg-vp .vp-card.back{animation:vpback 3s ease-in-out infinite}
@keyframes vpback{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
#pcg-vp .vp-card.winning{animation:vpwincard .7s ease-in-out 3}
@keyframes vpwincard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px);box-shadow:0 0 26px 6px rgba(245,197,66,.7)}}
#pcg-vp .vp-machine.is-idle .vp-deal{animation:vpdealpulse 1.7s ease-in-out infinite}
@keyframes vpdealpulse{0%,100%{box-shadow:0 0 0 0 rgba(245,197,66,.6)}50%{box-shadow:0 0 0 14px rgba(245,197,66,0)}}
#pcg-vp .vp-btn{transition:transform .12s,border-color .15s,filter .15s}
#pcg-vp .vp-btn:active:not(:disabled){transform:scale(.95)}
#pcg-vp .vp-deal:hover:not(:disabled){filter:brightness(1.1)}
#pcg-vp .vp-mv.bump{animation:vpbump .4s ease-out}
@keyframes vpbump{0%{transform:scale(1)}40%{transform:scale(1.3);color:#fff}100%{transform:scale(1)}}
#pcg-vp .vp-meter.winning{border-color:var(--gold);box-shadow:0 0 22px rgba(245,197,66,.65);animation:vpmeterglow .8s ease-in-out 3}
@keyframes vpmeterglow{50%{box-shadow:0 0 34px rgba(245,197,66,.95)}}
#pcg-vp .vp-coach.ok{animation:vppop .5s ease-out}
#pcg-vp .vp-coach.better{animation:vpnudge .45s ease-out}
@keyframes vpnudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
#pcg-vp .vp-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}
#pcg-vp .vp-banner{position:absolute;left:50%;top:44%;z-index:8;text-align:center;pointer-events:none;padding:.7rem 1.6rem;border-radius:18px;background:rgba(26,10,46,.9);border:2px solid var(--gold);box-shadow:0 0 44px rgba(245,197,66,.6);transform:translate(-50%,-50%) scale(0);animation:vpbanner 2.3s cubic-bezier(.2,1.3,.4,1) forwards}
#pcg-vp .vp-banner b{display:block;font-size:clamp(1.9rem,7.5vw,3.4rem);color:var(--lgold);text-shadow:0 0 20px rgba(245,197,66,.85);line-height:1.05;font-variant-numeric:tabular-nums}
#pcg-vp .vp-banner span{display:block;margin-top:.2rem;font-size:clamp(.85rem,2.6vw,1.15rem);color:#fff;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
@keyframes vpbanner{0%{transform:translate(-50%,-50%) scale(0) rotate(-8deg);opacity:0}16%{transform:translate(-50%,-50%) scale(1.14) rotate(2deg);opacity:1}28%{transform:translate(-50%,-50%) scale(1) rotate(0)}86%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-66%) scale(.95)}}
#pcg-vp .vp-banner.royal{border-color:#ff7ab8;box-shadow:0 0 80px rgba(255,122,184,.75);animation-duration:3.4s}
#pcg-vp .vp-banner.royal b{animation:vprainbow .9s linear infinite}
@keyframes vprainbow{0%{color:#ffe08a}33%{color:#ff7ab8}66%{color:#7cf0ff}100%{color:#ffe08a}}
#pcg-vp .vp-machine.shake{animation:vpshake .6s}
@keyframes vpshake{0%,100%{transform:translate(0)}15%{transform:translate(-6px,3px)}30%{transform:translate(6px,-3px)}45%{transform:translate(-5px,-2px)}60%{transform:translate(5px,2px)}80%{transform:translate(-2px,1px)}}
@media (prefers-reduced-motion:reduce){
  #pcg-vp .vp-banner{transform:translate(-50%,-50%) scale(1) !important;opacity:1 !important}
  #pcg-vp .vp-bulbs::after{display:none}
}
/* ---------- game tabs: always fully visible, no sideways scrolling ---------- */
#pcg-vp .vp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;overflow:visible;padding:.5rem 0 .9rem}
#pcg-vp .vp-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;position:relative;min-height:64px;padding:.6rem .5rem;border-radius:14px;white-space:normal;text-align:center;line-height:1.2;background:linear-gradient(180deg,var(--panel),#21103a)}
#pcg-vp .vp-tn{font-weight:800;font-size:.95rem}
#pcg-vp .vp-tt{font-style:normal;font-size:.72rem;letter-spacing:.07em;color:var(--lgold);font-weight:700;text-transform:uppercase}
#pcg-vp .vp-tab[aria-selected="true"]{background:linear-gradient(180deg,#ffd75e,#e0a800);color:#2b1700;border-color:#ffe08a}
#pcg-vp .vp-tab[aria-selected="true"] .vp-tt{color:#5a3a00}
#pcg-vp .vp-tab small{position:absolute;top:-9px;right:10px;margin:0;padding:.05rem .45rem;border-radius:99px;background:var(--orange);color:#2b1000;font-size:.62rem;font-weight:800;letter-spacing:.06em}
@media (max-width:600px){
  #pcg-vp .vp-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.6rem 12px .8rem}
  #pcg-vp .vp-tab{min-height:58px}
  #pcg-vp .vp-tn{font-size:.88rem}
}
@media (max-width:600px){
  #pcg-vp{margin-inline:-16px}
  #pcg-vp .vp-tabs{padding-inline:16px}
  #pcg-vp .vp-machine{border-radius:0;border-inline:0;padding:.8rem .7rem}
  #pcg-vp .vp-pay td:not(:first-child){display:none}
  #pcg-vp .vp-pay td.on{display:table-cell}
  #pcg-vp .vp-btns{grid-template-columns:1fr 1fr 1fr}
  #pcg-vp .vp-deal{grid-column:1/-1;order:-1}
}
@media (prefers-reduced-motion:reduce){#pcg-vp *{animation:none !important;transition:none !important}}

/* ---------- wild cards, multi-hand lines, Ultimate X and Spin Poker ---------- */
#pcg-vp .vp-card.joker{background:linear-gradient(160deg,#fffdf8,#efe4ff);color:#6a2fb8}
#pcg-vp .vp-card.joker .s{font-size:clamp(.6rem,2.2vw,.9rem);letter-spacing:.12em;font-weight:800}
#pcg-vp .vp-card.reel{filter:blur(1.2px);animation:vpreel .12s linear infinite}
@keyframes vpreel{0%{transform:translateY(-6px)}50%{transform:translateY(6px)}100%{transform:translateY(-6px)}}
#pcg-vp .vp-hands{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin:.8rem 0 .2rem}
#pcg-vp .vp-hl{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#cdbfe0;font-weight:700;margin-right:.2rem}
#pcg-vp .vp-hands button{min-width:56px;min-height:40px;border-radius:999px;border:1.5px solid var(--line);background:var(--panel);color:#f5f1fa;font:800 .95rem inherit;font-family:inherit;cursor:pointer}
#pcg-vp .vp-hands button[aria-pressed="true"]{background:var(--gold);color:#2b1700;border-color:#ffe08a;box-shadow:0 0 14px rgba(245,197,66,.5)}
#pcg-vp .vp-hands button:disabled{opacity:.5;cursor:not-allowed}
#pcg-vp .vp-note{margin:.3rem 0 0;text-align:center;font-size:.82rem;color:#cdbfe0}
#pcg-vp .vp-lines{display:grid;gap:.35rem;margin:1.6rem 0 0}
#pcg-vp .vp-lines.n3,#pcg-vp .vp-lines.n5{grid-template-columns:1fr}
#pcg-vp .vp-lines.n10{grid-template-columns:repeat(2,minmax(0,1fr))}
#pcg-vp .vp-lines.n50{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem}
#pcg-vp .vp-line{display:grid;grid-template-columns:2.2rem 1fr auto;gap:.4rem;align-items:center;padding:.3rem .5rem;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.25);font-size:.85rem}
#pcg-vp .vp-line.won{border-color:var(--gold);background:rgba(245,197,66,.12);animation:vppop .45s ease-out}
#pcg-vp .vp-ln{font-weight:800;color:#cdbfe0;font-size:.78rem}
#pcg-vp .vp-mx{font-style:normal;color:var(--orange);margin-left:.15rem}
#pcg-vp .vp-lc{display:flex;gap:.3rem;flex-wrap:wrap}
#pcg-vp .vp-lc b{background:#fffdf8;color:#1a1a1a;border-radius:4px;padding:0 .3rem;font-weight:800}
#pcg-vp .vp-lc b.rd{color:var(--red)}
#pcg-vp .vp-lc i{color:#7c6a9a;font-style:normal;letter-spacing:.2em}
#pcg-vp .vp-lw{font-weight:800;color:var(--lgold);font-variant-numeric:tabular-nums}
#pcg-vp .vp-lines.n50 .vp-line{grid-template-columns:1fr;gap:.1rem;padding:.2rem .25rem;font-size:.62rem;text-align:center}
#pcg-vp .vp-lines.n50 .vp-ln{display:none}
#pcg-vp .vp-lines.n50 .vp-lc{justify-content:center;gap:.1rem}
#pcg-vp .vp-lines.n50 .vp-lc b{padding:0 .12rem}
@media (max-width:600px){
  #pcg-vp .vp-lines.n10{grid-template-columns:1fr}
  #pcg-vp .vp-lines.n50{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- five-card poker against the dealer ---------- */
#pcg-vp .dt-row{margin:.9rem 0 1.4rem}
#pcg-vp .dt-row[hidden]{display:none}
#pcg-vp .dt-lab{display:flex;gap:.4rem;align-items:baseline;justify-content:center;margin-bottom:.4rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#cdbfe0}
#pcg-vp .dt-lab b{color:var(--lgold);letter-spacing:.02em;text-transform:none;font-size:.9rem}
#pcg-vp.dt .vp-cards{grid-template-columns:repeat(var(--n,5),minmax(0,1fr));max-width:min(640px,calc(var(--n,5) * 128px))}
#pcg-vp.dt .vp-card[hidden]{display:none}
#pcg-vp .dt-cards .vp-card{cursor:default}
#pcg-vp .dt-cards .vp-card:hover{transform:none;box-shadow:none}
#pcg-vp #dt-dealer .vp-card,#pcg-vp #dt-comm .vp-card{opacity:1}
#pcg-vp .dt-actbar{display:flex;gap:.5rem;align-items:stretch}
#pcg-vp .dt-actions{display:flex;flex-wrap:wrap;gap:.5rem;flex:1 1 auto}
#pcg-vp .dt-actions .vp-btn{flex:1 1 120px}
#pcg-vp .dt-actions .vp-deal{flex:2 1 160px}
#pcg-vp .dt-actbar>#vp-hint{flex:0 0 auto;min-width:86px}
#pcg-vp #vp-pay td:not(:first-child){display:table-cell}
#pcg-vp #vp-pay .dt-th td{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#cdbfe0;font-weight:800;background:rgba(0,0,0,.25)}
@media (max-width:600px){
  #pcg-vp .dt-actbar{flex-direction:column}
  #pcg-vp .dt-actbar>#vp-hint{min-height:44px}
  #pcg-vp.dt .vp-cards{max-width:calc(var(--n,5) * 100px)}
}
#pcg-vp .dt-sidebar{display:flex;justify-content:center;margin:.5rem 0 0}
#pcg-vp .dt-sidebar[hidden]{display:none}
#pcg-vp .vp-card.dis{opacity:.4;transform:translateY(6px) scale(.96);filter:grayscale(.5)}
#pcg-vp .vp-card.dis::after{content:"ASIDE";position:absolute;left:50%;bottom:-1.35rem;transform:translateX(-50%);font-size:.66rem;font-weight:800;letter-spacing:.06em;color:#cdbfe0}
#pcg-vp .vp-card.gapL{margin-left:.55rem}
#pcg-vp .vp-card.frontc{border-color:var(--gold)}
#pcg-vp.dt-pg .vp-card.held::after{content:"FRONT"}
#pcg-vp.dt7 .vp-card .r{font-size:clamp(.85rem,3.4vw,1.8rem)}
#pcg-vp.dt7 .vp-card .s{font-size:clamp(.85rem,3.4vw,1.7rem)}
#pcg-vp.dt7 .vp-card{border-radius:7px;border-width:1.5px}
#pcg-vp.dt7 .vp-card.held::after,#pcg-vp.dt7 .vp-card.dis::after{font-size:.55rem;bottom:-1.1rem}
@media (max-width:600px){
  #pcg-vp.dt7 .vp-cards{max-width:100%}
  #pcg-vp.dt7 .vp-card.gapL{margin-left:.3rem}
}

/* ---------- free No-Limit Hold'em table ---------- */
#pcg-vp .nl[hidden],#pcg-vp .dt-std[hidden]{display:none}
#pcg-vp .nl-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.4rem 0 .8rem}
#pcg-vp .nl-seat{border:1.5px solid var(--line);border-radius:14px;background:rgba(0,0,0,.28);padding:.5rem .4rem;text-align:center;min-height:112px;transition:border-color .15s,box-shadow .15s,opacity .15s}
#pcg-vp .nl-seat.turn,#pcg-vp .nl-me.turn{border-color:var(--gold);box-shadow:0 0 16px rgba(245,197,66,.45)}
#pcg-vp .nl-seat.folded{opacity:.45}
#pcg-vp .nl-sn{font-weight:800;color:#f5f1fa;font-size:.92rem}
#pcg-vp .nl-ss{color:var(--lgold);font-weight:800;font-variant-numeric:tabular-nums;font-size:.95rem}
#pcg-vp .nl-sc{display:flex;gap:.25rem;justify-content:center;margin:.35rem 0;min-height:2.3rem}
#pcg-vp .nl-sl{font-size:.74rem;color:#cdbfe0;font-weight:700;min-height:1.1em}
#pcg-vp .nlc{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2.3rem;padding:0 .2rem;border-radius:6px;background:var(--card);color:#1a1a1a;font-weight:800;font-size:.85rem;border:1.5px solid #d7cfc0}
#pcg-vp .nlc.red{color:var(--red)}
#pcg-vp .nlc.back{background:repeating-linear-gradient(45deg,#5b2a93 0 5px,#421b6e 5px 10px);border-color:var(--lgold);color:transparent}
#pcg-vp .nl-btn{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--gold);color:#2b1700;font-size:.65rem;font-style:normal;font-weight:800;margin-left:.2rem;vertical-align:middle}
#pcg-vp .nl-mid{text-align:center;margin:.4rem 0 1rem}
#pcg-vp .nl-pot{display:inline-block;margin-bottom:.5rem;padding:.25rem .9rem;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid var(--line);color:var(--lgold);font-weight:800;font-variant-numeric:tabular-nums}
#pcg-vp .nl-board{max-width:min(520px,100%)}
#pcg-vp .nl-board .vp-card.empty{border-style:dashed;border-color:var(--line);background:rgba(0,0,0,.2)}
#pcg-vp .nl-me{border:1.5px solid var(--line);border-radius:14px;background:rgba(0,0,0,.2);padding:.6rem .5rem .9rem;margin-bottom:.8rem;transition:border-color .15s,box-shadow .15s}
#pcg-vp .nl-melab{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;justify-content:center;margin-bottom:.5rem;font-weight:800}
#pcg-vp .nl-melab b{color:var(--lgold);font-variant-numeric:tabular-nums}
#pcg-vp .nl-melab em{color:#cdbfe0;font-style:normal;font-size:.85rem}
#pcg-vp .nl-hole{max-width:260px}
#pcg-vp .nl-hole .vp-card,#pcg-vp .nl-board .vp-card{cursor:default}
#pcg-vp .nl-eq{margin:.2rem 0 .6rem;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--green);background:rgba(60,207,134,.08);color:var(--green);font-weight:700;font-size:.88rem;text-align:center}
#pcg-vp .nl-eq[hidden]{display:none}
#pcg-vp .nl-actions{display:flex;flex-wrap:wrap;gap:.5rem}
#pcg-vp .nl-actions .vp-btn{flex:1 1 110px}
#pcg-vp .nl-actions .vp-deal{flex:2 1 150px}
#pcg-vp .nl-size{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}
#pcg-vp .nl-size[hidden]{display:none}
#pcg-vp .nl-size .vp-btn{flex:0 0 auto;min-height:40px;padding:.3rem .8rem;font-size:.8rem}
#pcg-vp .nl-size input[type=range]{flex:1 1 140px;min-width:120px;accent-color:var(--gold)}
#pcg-vp .nl-sel{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}
#pcg-vp .nl-sel select{min-height:40px;border-radius:10px;border:1.5px solid var(--line);background:var(--panel);color:#f5f1fa;font:700 .9rem inherit;font-family:inherit;padding:0 .6rem}
#pcg-vp .nl-hist{margin-top:.8rem;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.22);padding:.4rem .7rem}
#pcg-vp .nl-hist summary{cursor:pointer;font-weight:700;color:#cdbfe0}
#pcg-vp .nl-hist pre{margin:.5rem 0 0;max-height:260px;overflow:auto;white-space:pre-wrap;font-size:.78rem;color:#e9def5}
@media (max-width:600px){
  #pcg-vp .nl-seats{gap:.3rem}
  #pcg-vp .nl-seat{padding:.4rem .2rem;min-height:100px}
  #pcg-vp .nlc{min-width:1.7rem;height:2.1rem;font-size:.75rem}
  #pcg-vp .nl-board{gap:.25rem}
  #pcg-vp .nl-board .vp-card .r,#pcg-vp .nl-board .vp-card .s{font-size:clamp(.9rem,4.4vw,1.5rem)}
}
#pcg-vp.dt .vp-cards.nl-hole{max-width:200px}
#pcg-vp.dt .vp-cards.nl-board{max-width:min(520px,100%)}
@media (max-width:600px){#pcg-vp.dt .vp-cards.nl-hole{max-width:170px}#pcg-vp.dt .vp-cards.nl-board{max-width:100%}}

/* ---------- Hold'em and Omaha variant tables ---------- */
#pcg-vp .nl-board[hidden],#pcg-vp .nl-disc[hidden],#pcg-vp .nl-sel[hidden]{display:none}
#pcg-vp .nl-board2{margin-top:.5rem}
#pcg-vp .nl-struct{margin:.2rem 0 0;text-align:center;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#cdbfe0;font-weight:700}
#pcg-vp .nlx{display:inline-flex;align-items:center;font-size:.78rem;font-weight:800;color:var(--lgold)}
#pcg-vp .nl-sc{flex-wrap:wrap}
#pcg-vp .nl-disc{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin:.4rem 0 .7rem;padding:.5rem .7rem;border:1.5px solid var(--gold);border-radius:12px;background:rgba(245,197,66,.08);font-weight:700;color:var(--lgold)}
#pcg-vp .nl-disc .vp-btn{min-width:130px}
#pcg-vp .nl-hole button.vp-card{cursor:pointer}
#pcg-vp .nl-hole .vp-card.sel{opacity:.55;transform:translateY(8px) scale(.96);border-color:var(--red)}
#pcg-vp .nl-hole .vp-card.sel::after{content:"DISCARD";position:absolute;left:50%;bottom:-1.3rem;transform:translateX(-50%);font-size:.62rem;font-weight:800;letter-spacing:.05em;color:var(--red)}
#pcg-vp.dt .vp-cards.nl-hole{max-width:min(calc(var(--n,2) * 96px),100%)}
@media (max-width:600px){#pcg-vp.dt .vp-cards.nl-hole{max-width:min(calc(var(--n,2) * 84px),100%)}#pcg-vp .nl-hole .vp-card .r,#pcg-vp .nl-hole .vp-card .s{font-size:clamp(.9rem,4.6vw,1.6rem)}}

/* stud tables: your face-down cards are marked, and Mexican Poker's card to turn up is lifted */
#pcg-vp .nl-hole .vp-card.dn{box-shadow:inset 0 0 0 2px rgba(91,42,147,.55);position:relative}
#pcg-vp .nl-hole .vp-card.dn::before{content:"";position:absolute;top:3px;right:3px;width:.55rem;height:.55rem;border-radius:50%;background:#5b2a93;opacity:.85}
#pcg-vp .nl-hole .vp-card.up.sel{opacity:1;transform:translateY(-8px);border-color:var(--gold)}
#pcg-vp .nl-hole .vp-card.up.sel::after{content:"TURN UP";color:var(--lgold)}
#pcg-vp .nl-seats.stud .nlc{min-width:1.55rem;height:2rem;font-size:.74rem;padding:0 .1rem}
#pcg-vp .nl-seats.stud .nl-sc{gap:.15rem}
@media (max-width:600px){#pcg-vp .nl-seats.stud .nlc{min-width:1.05rem;height:1.55rem;font-size:.6rem;padding:0}#pcg-vp .nl-seats.stud .nl-seat{min-height:92px}}

/* Chinese poker and puzzle games */
#pcg-vp .cp-main{display:flex;flex-direction:column;gap:.7rem;margin:.6rem 0}
#pcg-vp .cp-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.4rem 0 .7rem}
#pcg-vp .cp-actions .vp-btn{min-width:110px}
#pcg-vp .cp-board{border:1.5px solid var(--line);border-radius:14px;background:rgba(0,0,0,.28);padding:.5rem .6rem}
#pcg-vp .cp-board.me{border-color:rgba(245,197,66,.55)}
#pcg-vp .cp-board.foul{border-color:var(--red)}
#pcg-vp .cp-bn{font-weight:800;color:var(--lgold);margin-bottom:.35rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
#pcg-vp .cp-bn b{font-weight:700;font-size:.85rem;color:#fff;opacity:.85}
#pcg-vp .cp-bn .fl{font-style:normal;background:var(--red);color:#fff;border-radius:6px;padding:0 .4rem;font-size:.72rem}
#pcg-vp .cp-row{display:grid;grid-template-columns:4.2rem auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.2rem .25rem;border-radius:10px;border:1px solid transparent}
#pcg-vp .cp-row.can{cursor:pointer;border:1px dashed rgba(245,197,66,.45)}
#pcg-vp .cp-row.can:hover{background:rgba(245,197,66,.08)}
#pcg-vp .cp-rl{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--lgold)}
#pcg-vp .cp-rn{font-style:normal;font-size:.8rem;opacity:.9;min-height:1em}
#pcg-vp .cp-rn u{text-decoration:none;color:var(--gold);font-weight:800}
#pcg-vp .cp-slots{display:flex;gap:.25rem}
#pcg-vp .cpc{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:2.6rem;height:3.5rem;border-radius:7px;background:var(--card);color:#1a1a1a;border:1.5px solid #d7cfc0;font-family:inherit;padding:0;line-height:1.05;box-sizing:border-box}
#pcg-vp .cpc b{font-size:1.05rem;font-weight:800}
#pcg-vp .cpc i{font-style:normal;font-size:1rem}
#pcg-vp .cpc.red{color:var(--red)}
#pcg-vp .cpc.back{background:repeating-linear-gradient(45deg,#5b2a93 0 5px,#421b6e 5px 10px);border-color:var(--lgold);color:transparent}
#pcg-vp button.cpc{cursor:pointer;transition:transform .12s,box-shadow .12s}
#pcg-vp button.cpc:hover{transform:translateY(-2px)}
#pcg-vp .cpc.sel{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 0 14px rgba(245,197,66,.65)}
#pcg-vp .cpc.best{border-color:var(--gold);box-shadow:0 0 12px rgba(245,197,66,.7)}
#pcg-vp .cpc.big{width:3.2rem;height:4.3rem}
#pcg-vp .cps{display:inline-block;width:2.6rem;height:3.5rem;border-radius:7px;border:1.5px dashed rgba(255,255,255,.25);box-sizing:border-box}
#pcg-vp .cp-tray{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;min-height:3.8rem;padding:.4rem;border-radius:12px;background:rgba(255,255,255,.04)}
#pcg-vp .cp-wait,#pcg-vp .cp-info{font-size:.85rem;opacity:.85;margin:0;text-align:center}
#pcg-vp .cp-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
#pcg-vp .cp-opp{border:1.5px solid var(--line);border-radius:12px;padding:.4rem;text-align:center;background:rgba(0,0,0,.25)}
#pcg-vp .cp-opp span{display:block;font-weight:800;color:var(--lgold);margin-bottom:.25rem}
#pcg-vp .cp-opp .cpc{width:1.4rem;height:2rem;margin:0 .05rem}
#pcg-vp .cp-opp em{display:block;font-style:normal;font-size:.75rem;opacity:.8;margin-top:.2rem}
#pcg-vp .sq-cur{display:flex;align-items:center;justify-content:center;gap:.8rem;font-weight:800;color:var(--lgold)}
#pcg-vp .sq-cur em{font-style:normal;font-weight:600;opacity:.85}
#pcg-vp .sq-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(3.6rem,4.6rem);gap:.3rem;max-width:520px;margin:0 auto;width:100%}
#pcg-vp .sq-cell{aspect-ratio:3/3.8;border-radius:8px;border:1.5px dashed rgba(255,255,255,.28);background:rgba(255,255,255,.04);padding:0;cursor:pointer;min-width:0}
#pcg-vp .sq-cell:hover{border-color:var(--gold);background:rgba(245,197,66,.1)}
#pcg-vp .sq-cell.hint{border:2px solid var(--gold);box-shadow:0 0 14px rgba(245,197,66,.7)}
#pcg-vp .sq-cell.on{border:0;background:none;cursor:default}
#pcg-vp .sq-cell .cpc{width:100%;height:100%}
#pcg-vp .sq-sc{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;font-size:.7rem;line-height:1.15}
#pcg-vp .sq-sc b{font-size:1rem;color:var(--gold)}
#pcg-vp .sq-sc small{opacity:.8}
#pcg-vp .sq-tot{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid var(--gold);border-radius:8px;font-weight:800}
#pcg-vp .sq-tot b{font-size:1.2rem;color:var(--gold)}
#pcg-vp .bhb-top{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
#pcg-vp .bhb-st{font-size:.85rem;opacity:.9}
#pcg-vp .bhb-fb{text-align:center;font-weight:700;margin:.2rem 0}
#pcg-vp .bhb-fb.ok{color:#3ccf86}
#pcg-vp .bhb-fb.no{color:var(--red)}
#pcg-vp .bhb-end{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem;font-size:1.1rem}
#pcg-vp .bhb-end b{font-size:2.4rem;color:var(--gold)}
#pcg-vp .cp-main button.cpc:focus-visible,#pcg-vp .sq-cell:focus-visible{outline:2px solid var(--lgold);outline-offset:2px}
#pcg-vp.cp [hidden]{display:none!important}
@media (max-width:600px){
  #pcg-vp .cpc,#pcg-vp .cps{width:2.1rem;height:2.9rem}
  #pcg-vp .cpc b{font-size:.9rem}#pcg-vp .cpc i{font-size:.85rem}
  #pcg-vp .cpc.big{width:2.8rem;height:3.8rem}
  #pcg-vp .cp-row{grid-template-columns:3.1rem auto;row-gap:.1rem}
  #pcg-vp .cp-rn{grid-column:1 / -1;padding-left:.2rem}
  #pcg-vp .cp-opp .cpc{width:1.1rem;height:1.6rem}
  #pcg-vp .sq-grid{grid-template-columns:repeat(5,minmax(0,1fr)) 3.1rem}
  #pcg-vp .sq-sc{font-size:.6rem}#pcg-vp .sq-sc b{font-size:.85rem}
  #pcg-vp .sq-cell .cpc b{font-size:.8rem}
}

/* home game night: wild cards, lives, and the In-Between third card */
#pcg-vp .nl-hole .vp-card.wild{box-shadow:inset 0 0 0 2px var(--gold);position:relative}
#pcg-vp .nl-hole .vp-card.wild::after{content:"WILD";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);font-size:.55rem;font-weight:800;letter-spacing:.05em;color:#8a5a00;background:rgba(245,197,66,.9);border-radius:4px;padding:0 .25rem}
#pcg-vp .nl-board .vp-card.third{border-color:var(--gold);box-shadow:0 0 14px rgba(245,197,66,.7)}
#pcg-vp .nl-lives{color:var(--red);letter-spacing:.1em;font-size:.95rem}
#pcg-vp .nl-seat .nl-ss .nl-lives{font-weight:800}
