/* Canasta: sto sa četiri mesta, dva reda kombinacija, špil i gomila. Karte iz cards.css; ovde samo ono što je Canastino. */
.is-game .felt.canasta{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.cboard{position:absolute;inset:0}
/* bez vučenja karata: prsti smeju da odzumiraju (cards.css daje none, to bi zarobilo zum) */
.board.cboard,.cboard .card{touch-action:manipulation}
.cboard .card{transform-origin:50% 50%}
.cboard .card.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s .3s}
.cboard .card.up{cursor:pointer}
.cboard .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
.cboard .card.fresh .front{box-shadow:0 0 0 3px #8ee09b,0 0 16px 3px rgba(142,224,155,.4)}
.cboard .card.fresh.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 0 16px 3px rgba(142,224,155,.4)}
.cboard .card.legal .front,.cboard .card.legal .back{box-shadow:0 0 0 3px rgba(240,212,145,.9),0 0 16px 4px rgba(240,212,145,.35)}
.cboard .card.staged .front{box-shadow:0 0 0 2px #f0d491,0 8px 16px rgba(0,0,0,.35);outline:2px dashed rgba(240,212,145,.9);outline-offset:3px}
.cboard .cslot{z-index:5;cursor:pointer}
/* natpisi uz sto */
.ctags{position:absolute;inset:0;pointer-events:none;z-index:150}
.ctag{position:absolute;display:block;text-align:center;font:800 12px/16px var(--sans);color:var(--cream-2,#efe3c8);text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;font-variant-numeric:tabular-nums}
.ctag.can{color:#3a2410;background:linear-gradient(180deg,#f3d896,#c39a4b);border-radius:8px;font-size:11px;line-height:15px;overflow:hidden;text-shadow:none}
.ctag.can b{display:block;font-size:12px}
.ctag.st{color:var(--brass-hi)}
.ctag.red3{color:#ffb3b8}
.ctag.pc{font-size:13px}
.ctag.frozen{color:#9fd8ff}
/* pločice igrača */
.cplate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:8px;height:var(--pl);padding:0 12px;border-radius:20px;
  background:rgba(20,10,4,.72);border:1px solid rgba(212,176,106,.3);box-shadow:0 6px 14px rgba(0,0,0,.35);font-size:14px;white-space:nowrap;transition:border-color .2s,box-shadow .2s;cursor:pointer}
.cplate b{font:700 15px var(--sans)}
.cplate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.cplate.partner small{color:#8ee09b}
.cplate .cnt{min-width:30px;text-align:center;padding:2px 8px;border-radius:6px;background:rgba(138,29,41,.85);border:1px solid rgba(232,200,130,.6);font-weight:800;font-variant-numeric:tabular-nums}
.cplate.turn{border-color:var(--brass-hi);box-shadow:0 0 0 3px rgba(240,212,145,.25),0 6px 14px rgba(0,0,0,.35)}
.cplate.p0{z-index:90}
/* natpis iznad ruke */
.cbanner{position:absolute;left:50%;top:60%;transform:translate(-50%,0);z-index:350;pointer-events:none;opacity:0;transition:opacity .25s;
  font:italic 700 clamp(17px,2vw,22px)/1.2 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6);text-align:center;white-space:nowrap}
.cbanner.on{opacity:1}
.cbanner span{font:800 14px var(--sans);font-style:normal;padding:3px 9px;border-radius:10px;background:rgba(0,0,0,.35);margin-left:6px;vertical-align:3px}
/* tabela rezultata u lampi */
.ctable{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.ctable th,.ctable td{padding:7px 6px;text-align:right;border-bottom:1px solid rgba(212,176,106,.2)}
.ctable td:first-child,.ctable th:first-child{text-align:left}
.ctable thead th{font-size:13px;color:var(--brass-hi)}
.ctable tfoot th{font-size:16px;border-bottom:0}
#b-draw,#b-meld,#b-discard{min-width:104px}
@media (max-width:640px){
  .cplate{gap:6px;padding:0 9px;font-size:12px}
  .cplate b{font-size:13px}
  .cbanner{font-size:16px;white-space:normal;width:62%;left:auto;right:8px;transform:none;text-align:right}
  .ctag{font-size:11px}
  .ctag.can{font-size:9px;line-height:12px}
  .ctag.can b{font-size:10px}
  #b-draw,#b-meld,#b-discard{min-width:0;padding:0 13px}
}
/* poruka ide gore: dole je ruka */
.toast{bottom:auto;top:calc(var(--bar) + 14px);transform:translate(-50%,-20px)}
.toast.on{transform:translate(-50%,0)}
/* šest dugmadi u jednom redu na telefonu (New, Meld, Discard, savet, rezultati, podešavanja) */
@media (max-width:440px){
  .controls{gap:6px;padding-left:8px;padding-right:8px}
  .controls .btn{padding:0 13px}
  .controls .btn.icon{width:44px;padding:0}
  #b-new svg{display:none}
}
