/* Pinochle: sto sa četiri mesta u parovima. Karte iz cards.css; ovde pločice, licitacija, adut, meld i natpis. */
.is-game .felt.pinochle{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.pboard{position:absolute;inset:0}
/* bez vučenja karata: prsti smeju da odzumiraju (cards.css daje none, to bi zarobilo zum) */
.board.pboard,.pboard .card{touch-action:manipulation}
.pboard .card{transform-origin:50% 50%}
.pboard .card.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s .3s}
.pboard .card.up{cursor:pointer}
.pboard .card.legal .front{box-shadow:0 0 0 2px rgba(240,212,145,.85),0 6px 14px rgba(0,0,0,.3)}
.pboard .card.dim .front{filter:brightness(.72) saturate(.6)}
.pboard .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
/* moje karte u meldu */
.pboard .card.meld .front{box-shadow:0 0 0 3px #f3d896,0 0 16px rgba(243,216,150,.55)}
/* pločice igrača: naš par sa mesinganom ivicom levo */
.pboard .plate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:8px;min-width:140px;height:40px;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}
.pboard .plate.us{box-shadow:inset 4px 0 0 var(--brass),0 6px 14px rgba(0,0,0,.35)}
.pboard .plate b{font:700 15px var(--sans)}
.pboard .plate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.pboard .plate .bt{margin-left:auto;min-width:34px;text-align:center;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.1);font-weight:800;font-variant-numeric:tabular-nums}
.pboard .plate.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)}
.pboard .plate.us.turn{box-shadow:inset 4px 0 0 var(--brass),0 0 0 3px rgba(240,212,145,.25),0 6px 14px rgba(0,0,0,.35)}
.pboard .plate .pcall{font-style:normal;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.08);color:var(--cream-3);font-variant-numeric:tabular-nums}
.pboard .plate .pcall.mk{background:rgba(240,212,145,.2);color:#fff3d6}
.pboard .plate .pcall .psym{margin-right:3px}
.pboard .plate .pdeal{font-style:normal;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brass);color:#3a2410;font:800 12px var(--sans);flex:none}
/* adut: gornji levi ugao */
.ptrump{position:absolute;left:0;top:0;z-index:380;display:flex;flex-direction:column;align-items:center;gap:0;min-width:64px;min-height:64px;padding:6px 10px;border-radius:14px;
  background:rgba(20,10,4,.72);border:1px solid rgba(212,176,106,.4);box-shadow:0 6px 14px rgba(0,0,0,.35);color:var(--cream);cursor:pointer;font:inherit}
.ptrump[hidden]{display:none}
.ptrump small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3);white-space:nowrap}
.ptrump .psym{font-size:28px;line-height:1.1}
.psym{color:#f4ecd8}
.psym.red{color:#ff8a7a}
/* natpis iznad ruke */
.pbanner{position:absolute;left:50%;transform:translate(-50%,0);z-index:350;pointer-events:none;opacity:0;transition:opacity .25s;
  font:italic 700 clamp(18px,2.2vw,24px)/1.2 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6);text-align:center;white-space:nowrap}
.pbanner.on{opacity:1}
.pbanner 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}
/* licitacija i izbor aduta */
.pbid,.pmeld{position:absolute;z-index:420;display:none;padding:12px 12px 10px;border-radius:16px;background:rgba(20,10,4,.88);border:1px solid rgba(212,176,106,.35);box-shadow:0 12px 30px rgba(0,0,0,.45);text-align:center}
.pbid.on{display:block}
.pmeld.on{display:flex;flex-direction:column}
.pbid-t,.pm-t{margin:0 0 4px;font:italic 700 20px/1.2 var(--serif);color:#fff3d6;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.pbid-s,.pm-s{margin:0 0 10px;font-size:14px;color:var(--cream-3)}
.pbid-s b,.pm-s b{color:#fff3d6}
.pbid-q{width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,176,106,.45);background:none;color:var(--brass-hi);font:800 16px var(--sans);cursor:pointer;flex:none}
.pbid-n{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 10px}
.pbid-step{width:52px;min-height:48px;justify-content:center;font-size:24px;padding:0}
.pbid-v{min-width:80px;font:800 30px/1 var(--sans);color:#fff3d6;font-variant-numeric:tabular-nums}
.pbid-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.pbid-row .btn{flex:1 1 0;min-width:0;min-height:48px;justify-content:center}
.pbid-row.suits{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pbid-row.suits .btn{gap:8px;padding:6px 10px;min-height:56px}
.pbid-row.suits .btn .psym{font-size:24px}
.pbid-row.suits .btn span:not(.psym){display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.pbid-row.suits .btn small{font-size:12px;font-weight:700;color:var(--cream-3)}
.pbid .btn.hint,.pmeld .btn.hint{box-shadow:0 0 0 3px var(--brass-hi)}
/* pokazani meld: lista se skroluje, dugme Play ostaje vidljivo */
.pmeld ul{overflow:auto;min-height:0;flex:0 1 auto}
.pmeld .pbid-row{flex:none}
.pm-t span{font:700 13px var(--sans);font-style:normal;color:var(--cream-3)}
.pmeld ul{list-style:none;margin:6px 0 8px;padding:0;text-align:left}
.pmeld li{display:grid;grid-template-columns:62px 1fr auto;gap:8px;align-items:baseline;padding:6px 8px;border-bottom:1px solid rgba(212,176,106,.16)}
.pmeld li.us{box-shadow:inset 3px 0 0 var(--brass)}
.pm-n{font:700 14px var(--sans)}
.pm-i{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:var(--cream-2,#eadfc6)}
.pm-i b{color:#fff3d6;font-variant-numeric:tabular-nums}
.pm-i .none{color:var(--cream-3);font-style:italic}
.pm-p{font:800 16px var(--sans);font-variant-numeric:tabular-nums;color:#fff3d6}
/* tabela rezultata u lampi */
.stable{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.stable th,.stable td{padding:7px 6px;text-align:center;border-bottom:1px solid rgba(212,176,106,.2)}
.stable tbody th,.stable tfoot th:first-child{text-align:left;font-weight:600;color:var(--cream-3)}
.stable td small{display:block;font-size:12px;color:var(--cream-3)}
.stable td s{opacity:.6;margin-right:4px}
.stable thead th{font-size:13px;color:var(--brass-hi)}
.stable tfoot th{font-size:17px;border-bottom:0}
@media (max-width:640px){
  .pboard .plate{min-width:0;height:34px;padding:0 9px;gap:6px;font-size:12px}
  .pboard .plate b{font-size:13px}
  .pboard .plate small{display:none}
  .pboard .plate .bt{min-width:28px;padding:2px 6px}
  .pboard .plate .pcall{font-size:11px;padding:1px 6px}
  .pbanner{font-size:16px;white-space:normal;width:90%}
  .pbid,.pmeld{padding:10px 8px 8px}
  .pbid-t,.pm-t{font-size:18px}
  .pbid-s,.pm-s{font-size:13px;margin-bottom:8px}
  .pmeld li{grid-template-columns:52px 1fr auto;padding:5px 6px;gap:6px}
  .pm-i{font-size:13px}
  .pm-t span{font-size:12px}
  .pmeld ul{margin:2px 0 6px}
  .ptrump{min-width:54px;min-height:54px;padding:4px 8px}
  .ptrump .psym{font-size:24px}
}
/* poruka ide gore: dole je ruka */
.toast{bottom:auto;top:calc(var(--bar) + 14px);transform:translate(-50%,-20px)}
.toast.on{transform:translate(-50%,0)}
/* moja pločica ispod karata u ruci: podignuta karta je pokriva, pa joj se vidi ugao i drugi dodir pogađa kartu */
.pboard .plate.p0{z-index:90}
