/* Spoons: sto za troje do šestoro. Karte iz cards.css; ovde pločice sa slovima, lepeze poleđina, kašike, špil i gomila, kraj runde. */
.is-game .felt.spoons{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.spbd{position:absolute;inset:0}
/* bez vučenja karata: prsti smeju da odzumiraju (cards.css daje none, to bi zarobilo zum) */
.board.spbd,.spbd .card{touch-action:manipulation}
.spbd .card{transform-origin:50% 50%}
.spbd .card.gone{opacity:0;pointer-events:none}
.spbd .card.legal{cursor:pointer}
.spbd .card.nw .front{box-shadow:0 0 0 2px rgba(240,212,145,.7),0 6px 14px rgba(0,0,0,.3)}
.spbd .card.sel .front{box-shadow:0 0 0 3px var(--brass-hi),0 12px 24px rgba(0,0,0,.4)}
.spbd .card.hint .front{animation:glow 1.1s ease-in-out infinite}
.spbd .card.spfly{pointer-events:none}
#controls .hint{animation:glow 1.1s ease-in-out infinite}
/* "New" iznad nove karte */
.spnew{position:absolute;left:0;top:0;z-index:120;display:none;width:40px;text-align:center;font:800 11px/18px var(--sans);letter-spacing:.08em;text-transform:uppercase;
  color:var(--brass-hi);pointer-events:none}
.spnew.on{display:block}
/* pločice igrača (dodir: objašnjenje) */
.spplate{position:absolute;left:0;top:0;z-index:400;display:flex;align-items:center;gap:7px;min-width:104px;height:44px;padding:0 12px;border-radius:22px;
  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;color:var(--cream);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.spplate[hidden]{display:none}
.spplate b{font:700 15px var(--sans)}
.spplate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.spplate .lt{display:flex;gap:1px;margin-left:auto}
.spplate .lt i{font:800 13px/20px var(--sans);font-style:normal;width:13px;text-align:center;color:rgba(246,236,214,.62)}
.spplate .lt.one i{width:auto;padding:0 4px}
.spplate .lt i.got{background:#b3261c;color:#fff;border-radius:3px}
.spplate .dl{flex:none;width:20px;height:20px;border-radius:50%;background:#fbf6ea;color:var(--black);font:800 11px/20px var(--sans);font-style:normal;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.4)}
.spplate.out b{text-decoration:line-through}
.spplate.out .lt i:not(.got){color:#ffb09f}
.spplate.won{background:#fbf6ea;color:var(--black);border-color:var(--brass-hi)}
.spplate.won small,.spplate.won .lt i:not(.got){color:#6b5a3e}
.spplate.wait b::after{content:" …";color:var(--brass-hi)}
.spplate.spp0{z-index:90}
/* tuđa ruka: mala lepeza od četiri poleđine i nova karta */
.spfan{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);z-index:20;display:none;pointer-events:none;--k:.4}
.spfan.on{display:block}
.spfan .card{position:absolute;left:0;top:0;transition:transform .25s}
.spfan .card:nth-child(1){transform:translateX(calc(var(--cw)*var(--k)*-.64)) rotate(-10deg) scale(var(--k))}
.spfan .card:nth-child(2){transform:translateX(calc(var(--cw)*var(--k)*-.32)) rotate(-5deg) scale(var(--k))}
.spfan .card:nth-child(3){transform:translateX(0) scale(var(--k))}
.spfan .card:nth-child(4){transform:translateX(calc(var(--cw)*var(--k)*.32)) rotate(5deg) scale(var(--k))}
.spfan .card.nw{transform:translateX(calc(var(--cw)*var(--k)*.64)) translateY(calc(var(--ch)*var(--k)*.12)) rotate(10deg) scale(var(--k))}
/* rekao je: nova karta se podigne ka levom susedu (u sobi se vidi ko je spreman) */
.spfan.ready .card.nw{transform:translateX(calc(var(--cw)*var(--k)*.9)) translateY(calc(var(--ch)*var(--k)*-.2)) rotate(16deg) scale(var(--k))}
.spfan.hold .card.nw{opacity:0}
/* kašike (dugmad: dodir grabi) */
.spoon{position:absolute;left:0;top:0;z-index:330;width:24px;height:80px;padding:0;border:0;background:none;cursor:pointer;transform-origin:50% 50%;
  transition:transform .35s cubic-bezier(.3,.7,.3,1);filter:drop-shadow(0 4px 5px rgba(0,0,0,.45))}
.spoon[hidden]{display:none}
.spoon::before{content:'';position:absolute;inset:-12px -14px}
.spoon svg{display:block;width:24px;height:80px;fill:url(#spgrad) #d6dbe0}
.spoon svg ellipse,.spoon svg rect{fill:#d9dee3;stroke:#8c949c;stroke-width:1}
.spoon.taken{z-index:410;cursor:help}
.spoon.hint svg ellipse,.spoon.hint svg rect{animation:spglow 1.1s ease-in-out infinite}
@keyframes spglow{50%{fill:#f6e3a6;stroke:var(--brass-hi)}}
/* špil i gomila (dodir: objašnjenje) */
.sppile{position:absolute;left:0;top:0;z-index:30;width:calc(var(--cw)*.72);height:calc(var(--ch)*.72);padding:0;border:0;border-radius:calc(var(--cw)*.06);cursor:pointer;
  background:none;color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.sppile[hidden]{display:none}
.sppile .stk{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#7d1f17,#4a0f0b);border:3px solid #fbf6ea;box-shadow:2px 2px 0 #d8ccb2,4px 4px 0 #b9ab8e,0 8px 16px rgba(0,0,0,.4)}
html[data-back=navy] .sppile .stk{background:linear-gradient(135deg,#1d3a70,#0f1f40)}
html[data-back=forest] .sppile .stk{background:linear-gradient(135deg,#1f6a42,#0f3a22)}
.sptrash .stk{transform:rotate(4deg);opacity:.9}
.sppile.empty .stk{background:none;border:2px dashed rgba(246,236,214,.35);box-shadow:none}
.sppile b{position:relative;margin-bottom:auto;margin-top:auto;font:800 18px var(--sans);text-shadow:0 1px 4px rgba(0,0,0,.6)}
.sppile small{position:absolute;bottom:-22px;font:700 12px var(--sans);letter-spacing:.04em;color:var(--cream-2);white-space:nowrap}
/* natpis iznad ruke */
.spbanner{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}
.spbanner.on{opacity:1}
/* kraj runde */
.spres{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:600;display:none;width:min(420px,92%);max-height:92%;overflow:auto;padding:16px 18px;border-radius:16px;
  background:#fbf6ea;color:var(--black);box-shadow:0 18px 40px rgba(0,0,0,.5);text-align:center}
.spres.on{display:block}
.spres p{margin:0 0 8px;font:500 15px/1.4 var(--sans)}
.spres .sph{font:700 22px/1.2 var(--serif);margin-bottom:10px}
.spres .sph.bad{color:#a3261c}
.spres .ltr{display:inline-block;min-width:28px;padding:0 6px;border-radius:6px;background:#a3261c;color:#fff;font-weight:800}
.spres .spout{font-weight:700;color:#a3261c}
.spres .spt{font-size:13px;color:#5b4a30}
.spres .spnext{margin-top:6px;min-width:160px}
@media (max-width:640px){
  .spplate{min-width:0;height:36px;padding:0 7px;gap:4px;font-size:12px;margin-top:4px}
  .spplate b{font-size:13px;max-width:64px;overflow:hidden}
  .spplate small{display:none}
  .spplate .lt i{width:9px;font-size:11px}
  .spplate .lt.one i{width:auto;padding:0 3px}
  .spbanner{font-size:16px;white-space:normal;width:92%}
  .spres .sph{font-size:19px}
  .spres p{font-size:14px}
}
/* poruka ide gore: dole je ruka */
.toast{bottom:auto;top:calc(var(--bar) + 14px);transform:translate(-50%,-20px)}
.toast.on{transform:translate(-50%,0)}
/* TV (G6): krupnija slova */
.is-tv .spplate{height:auto;min-height:52px;padding:6px 16px}
.is-tv .spplate b{font-size:clamp(16px,2.2vh,26px)}
.is-tv .spplate .lt i{font-size:clamp(14px,2vh,24px);width:auto;padding:0 2px}
.is-tv .spres{font-size:clamp(16px,2.4vh,26px)}
