/* Hearts: sto sa četiri mesta. Karte iz cards.css; ovde samo pločice igrača, natpis u sredini i stanja karata u ruci. */
.is-game .felt.hearts{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.hboard{position:absolute;inset:0}
/* bez vučenja karata: prsti smeju da odzumiraju (cards.css daje none, to bi zarobilo zum) */
.board.hboard,.hboard .card{touch-action:manipulation}
.hboard .card{transform-origin:50% 50%}
.hboard .card.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s .3s}
.hboard .card.up{cursor:pointer}
.hboard .card.legal .front{box-shadow:0 0 0 2px rgba(240,212,145,.85),0 6px 14px rgba(0,0,0,.3)}
.hboard .card.dim .front{filter:brightness(.72) saturate(.6)}
.hboard .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
.hboard .card.fresh .front{box-shadow:0 0 0 3px #8ee09b,0 0 18px 4px rgba(142,224,155,.45)}
/* pločice igrača */
.plate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:8px;min-width:150px;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}
.plate b{font:700 15px var(--sans)}
.plate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.plate .pts{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:#ff9aa4;font-weight:800}
.plate .pts svg{width:13px;height:13px;color:#e0454d}
.plate .tot{min-width:30px;text-align:center;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.1);font-weight:800;font-variant-numeric:tabular-nums}
.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)}
/* natpis u sredini */
.hbanner{position:absolute;left:50%;top:58%;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}
.hbanner.on{opacity:1}
.hbanner 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 */
.htable{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.htable th,.htable td{padding:8px 6px;text-align:center;border-bottom:1px solid rgba(212,176,106,.2)}
.htable thead th{font-size:13px;color:var(--brass-hi)}
.htable tfoot th{font-size:17px;border-bottom:0}
.moon{font:italic 700 22px var(--serif);color:var(--brass-hi);margin:-4px 0 10px}
@media (max-width:640px){
  .plate{min-width:0;height:34px;padding:0 9px;gap:6px;font-size:12px}
  .plate b{font-size:13px}
  .plate small{display:none}
  .hbanner{font-size:16px;white-space:normal;width:90%}
}
/* dva reda na telefonu: ugao karte (broj iznad znaka) mora da se vidi u uskom delu koji viri */
.hboard.small .card .tl{flex-direction:column;align-items:center;gap:0;left:5%;top:3%}
.hboard.small .card .r{font-size:calc(var(--cw)*.3)}
.hboard.small .card .is{width:calc(var(--cw)*.2);height:calc(var(--cw)*.2)}
#b-pass{min-width:150px}
/* poruka ide gore: dole je ruka */
.toast{bottom:auto;top:calc(var(--bar) + 14px);transform:translate(-50%,-20px)}
.toast.on{transform:translate(-50%,0)}
/* dobijene karte moraju da se vide i kad trenutno nisu dozvoljene (zatamnjene) */
.hboard .card.fresh.dim .front{filter:none;box-shadow:0 0 0 3px #8ee09b,0 0 18px 4px rgba(142,224,155,.45)}
/* moja pločica ispod karata u ruci: podignuta karta je pokriva, pa joj se vidi ugao i drugi dodir pogađa kartu */
.plate.p0{z-index:90}
