/* Oh Hell: sto za 3 do 7 igrača. Karte iz cards.css; ovde pločice u luku, adut, licitacija, natpis i tabele. */
.is-game .felt.ohhell{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.ohboard{position:absolute;inset:0}
.board.ohboard,.ohboard .card{touch-action:manipulation}
.ohboard .card{transform-origin:50% 50%}
.ohboard .card.gone{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,.7,.3,1),opacity .3s .3s}
.ohboard .card.up{cursor:pointer}
.ohboard .card.legal .front{box-shadow:0 0 0 2px rgba(240,212,145,.85),0 6px 14px rgba(0,0,0,.3)}
.ohboard .card.dim .front{filter:brightness(.72) saturate(.6)}
.ohboard .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
/* pločice igrača */
.ohplate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:7px;height:40px;padding:0 11px;border-radius:20px;
  background:rgba(20,10,4,.74);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}
.ohplate b{font:700 15px var(--sans)}
.ohplate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.ohplate .bt{margin-left:auto;min-width:40px;text-align:center;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.1);font-weight:800;font-variant-numeric:tabular-nums}
.ohplate.made .bt{background:rgba(240,212,145,.85);color:#3a2410}
.ohplate.over .bt{background:rgba(200,60,60,.75);color:#fff}
.ohplate.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)}
/* adut: oznaka ispod okrenute karte */
.ohtrump{position:absolute;left:0;top:0;z-index:40;display:grid;width:max-content;white-space:nowrap;justify-items:center;gap:0;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-3);cursor:pointer;text-align:center}
.ohtrump b{font:700 14px var(--sans);letter-spacing:0;text-transform:none;color:var(--brass-hi)}
/* natpis iznad ruke */
.ohbanner{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(17px,2.2vw,23px)/1.2 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6);text-align:center;white-space:nowrap}
.ohbanner.on{opacity:1}
.ohbanner 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 */
.ohbid{position:absolute;z-index:410;display:none;padding:12px 12px 10px;border-radius:16px;background:rgba(20,10,4,.86);border:1px solid rgba(212,176,106,.35);box-shadow:0 12px 30px rgba(0,0,0,.45);text-align:center}
.ohbid.on{display:block}
.ohbid-t{margin:0 0 10px;font:italic 700 18px/1.2 var(--serif);color:#fff3d6;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.ohbid-t small{font:800 12px var(--sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-hi)}
.ohbid-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}
.ohbid-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:5px}
.ohbid-g button{min-height:44px;min-width:40px;border-radius:12px;border:1px solid rgba(212,176,106,.3);background:rgba(255,255,255,.06);color:var(--cream);font:800 17px var(--sans);cursor:pointer;font-variant-numeric:tabular-nums;padding:0}
.ohbid-g button:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.ohbid-g button[aria-pressed=true]{background:linear-gradient(180deg,#f3d896,#c39a4b);color:#3a2410;border-color:transparent}
.ohbid-s{margin:10px 0 0;font-size:14px;color:var(--cream-3);line-height:1.35}
.ohbid-s b{color:var(--cream)}
/* tabele */
.ohscroll{overflow-x:auto}
.ohtable{width:100%;border-collapse:collapse;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.ohtable th,.ohtable td{padding:7px 6px;text-align:center;border-bottom:1px solid rgba(212,176,106,.2);white-space:nowrap}
.ohtable tbody th{text-align:left;font-weight:600;color:var(--cream-3)}
.ohtable tr.me th,.ohtable tr.me td{color:var(--cream)}
.ohtable td small{display:block;font-size:12px;color:var(--cream-3)}
.ohtable td.ok{color:var(--brass-hi)}
.ohtable thead th{font-size:13px;color:var(--brass-hi)}
.ohtable tfoot th{font-size:16px}
#b-bid{min-width:120px}
@media (max-width:640px){
  .ohplate{height:32px;padding:0 8px;gap:5px;font-size:12px}
  .ohplate b{font-size:12px;max-width:72px;overflow:hidden;text-overflow:ellipsis}
  .ohplate small{display:none}
  .ohplate .bt{min-width:32px;padding:1px 5px}
  .ohbanner{font-size:16px;white-space:normal;width:90%}
}
.ohboard.small .card .tl{flex-direction:column;align-items:center;gap:0;left:5%;top:3%}
.ohboard.small .card .r{font-size:calc(var(--cw)*.3)}
.ohboard.small .card .is{width:calc(var(--cw)*.2);height:calc(var(--cw)*.2)}
