/* Playing cards and the card-table felt, shared by Blackjack and Poker. */
.felt{
  position:relative;min-height:340px;padding:clamp(12px,3vw,22px);
  background:radial-gradient(120% 90% at 50% 40%, #1E7A45 0%, #155C34 70%, #0F4627 100%);
  border:6px solid #5A3218;box-shadow:inset 0 0 0 3px #7A4823, inset 0 0 40px rgba(0,0,0,.35);
  color:#F2EEE4;display:grid;gap:14px;align-content:start;
}
.pcard{
  --cw:clamp(44px,10vw,68px);
  position:relative;flex:0 0 auto;width:var(--cw);aspect-ratio:5/7;
  background:#FBF8EF;border:2px solid #1B1D33;border-radius:5px;
  box-shadow:3px 3px 0 rgba(0,0,0,.45);
  display:grid;place-items:center;user-select:none;-webkit-user-select:none;
}
.pcard.red{color:#C8261D}
.pcard.black{color:#1B1D33}
.pcard .c-corner{position:absolute;top:3px;left:4px;display:grid;justify-items:center;gap:1px;line-height:1}
.pcard .c-corner b{font-family:var(--body);font-weight:700;font-size:calc(var(--cw) * .27)}
.pcard .c-corner svg{width:calc(var(--cw) * .18);height:calc(var(--cw) * .18)}
.pcard .c-flip{top:auto;left:auto;bottom:3px;right:4px;transform:rotate(180deg)}
.pcard .c-pip svg{width:calc(var(--cw) * .46);height:calc(var(--cw) * .46)}
.pcard.down{background:#2A5BD7 repeating-linear-gradient(45deg,#2348B8 0 4px,#3D6BFF 4px 8px)}
.pcard.down::after{content:"";position:absolute;inset:4px;border:2px solid #F6C333;border-radius:2px}
.pcard.win{box-shadow:0 0 0 3px #F6C333,3px 3px 0 rgba(0,0,0,.45)}
.pcard.deal{animation:card-deal .26s steps(5,end) both}
@keyframes card-deal{from{transform:translate(36px,-28px) rotate(9deg);opacity:0}to{transform:none;opacity:1}}
.cards{display:flex;gap:6px;flex-wrap:wrap;min-height:calc(var(--cw, 56px) * 1.4)}
.cards.tight .pcard + .pcard{margin-left:calc(var(--cw) * -.42)}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{
  width:52px;height:52px;border-radius:50%;cursor:pointer;
  font-family:var(--body);font-weight:700;font-size:.95rem;color:#FFFFFF;
  border:3px dashed rgba(255,255,255,.85);box-shadow:0 0 0 3px #1B1D33,3px 4px 0 3px rgba(0,0,0,.35);
  display:grid;place-items:center;
}
.chip:active{transform:translate(2px,2px)}
.chip:disabled{opacity:.35;cursor:not-allowed}
.chip.c10{background:#2A5BD7}.chip.c20{background:#2E9E4F}.chip.c50{background:#D7352B}.chip.c100{background:#1B1D33}
.table-btn{
  font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:.02em;
  padding:10px 16px;border:3px solid #1B1D33;background:#EEEBE4;color:#1B1D33;cursor:pointer;
  box-shadow:4px 4px 0 #0B0C1A;
}
.table-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #0B0C1A}
.table-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 #0B0C1A}
.table-btn.go{background:#F6C333}
.table-btn.danger{background:#FF8A80}
.table-btn:focus-visible,.chip:focus-visible{outline:3px solid #F6C333;outline-offset:3px}
.felt-note{font-family:var(--body);font-weight:600;font-size:.98rem;min-height:1.5em;text-align:center}
.felt-label{font-family:var(--display);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#F6C333}
@media (prefers-reduced-motion:reduce){.pcard.deal{animation:none}}
