/* Snakes and Ladders: tabla (SVG) sa trakom za start, figure kao dugmad, 3D kockica pored table, pločice igrača. */
.is-game .felt.snl{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.slbd{position:absolute;inset:0}
.board.slbd{touch-action:manipulation}
.slart{position:absolute;border-radius:8px;overflow:hidden;cursor:help;box-shadow:0 0 0 6px #6b4226,0 0 0 8px #3b2414,0 18px 40px rgba(0,0,0,.45)}
.slart svg{display:block;width:100%;height:100%}
/* figura: pion odozgo */
.slpc{position:absolute;left:0;top:0;width:calc(var(--u)*.64);height:calc(var(--u)*.64);padding:0;border:0;border-radius:50%;cursor:default;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.65),rgba(255,255,255,0) 45%),var(--pc);
  box-shadow:0 0 0 calc(var(--u)*.06) #fffaf0,0 calc(var(--u)*.08) calc(var(--u)*.16) rgba(0,0,0,.5);
  transition:transform .14s cubic-bezier(.3,.7,.3,1);touch-action:manipulation}
.slpc[hidden]{display:none}
.slpc::after{content:"";position:absolute;inset:28%;border-radius:50%;background:rgba(0,0,0,.18)}
.slpc.can{cursor:pointer;box-shadow:0 0 0 calc(var(--u)*.06) #fffaf0,0 0 0 calc(var(--u)*.14) rgba(242,201,100,.9),0 calc(var(--u)*.08) calc(var(--u)*.16) rgba(0,0,0,.5);animation:slpulse 1.1s ease-in-out infinite}
@keyframes slpulse{50%{box-shadow:0 0 0 calc(var(--u)*.06) #fffaf0,0 0 0 calc(var(--u)*.22) rgba(255,214,110,.75),0 calc(var(--u)*.08) calc(var(--u)*.16) rgba(0,0,0,.5)}}
.slpc:focus-visible{outline:3px solid var(--brass-hi);outline-offset:2px}
/* kockica */
.sldiew{position:absolute;left:0;top:0;z-index:40}
.cubedie.sldie:disabled{cursor:default}
.cubedie.sldie.can{animation:sldie 1.2s ease-in-out infinite;border-radius:18%}
@keyframes sldie{50%{filter:drop-shadow(0 0 10px rgba(255,214,110,.9))}}
/* pločice igrača */
.slplate{position:absolute;left:0;top:0;z-index:50;display:flex;align-items:center;gap:8px;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;color:var(--cream);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.slplate[hidden]{display:none}
.slplate .dot,.slnames .dot{width:14px;height:14px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 2px #fffaf0;flex:none}
.slplate b{font:700 15px var(--sans);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.slplate .sq{margin-left:4px;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.12);font-weight:800;font-variant-numeric:tabular-nums}
.slplate.turn{border-color:var(--brass-hi);box-shadow:0 0 0 3px rgba(240,212,145,.3),0 6px 14px rgba(0,0,0,.35)}
.slplate.win{background:#fbf6ea;color:var(--black)}
/* natpis */
.slbanner{position:absolute;z-index:45;pointer-events:none;opacity:0;transition:opacity .25s;
  font:italic 700 clamp(15px,2vw,21px)/1.25 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.slbanner.on{opacity:1}
/* više ljudi na uređaju */
.slppl{margin:6px 0 10px}
.slnames{display:grid;gap:8px;margin-bottom:12px}
.slnames label{display:flex;align-items:center;gap:10px}
.slnames label[hidden]{display:none}
.slnames input{flex:1;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid rgba(0,0,0,.2);font:600 16px var(--sans)}
@media (max-width:640px){
  .slplate{height:34px;padding:0 9px;gap:6px;font-size:12px}
  .slplate b{font-size:13px}
  .slplate .sq{padding:2px 6px}
}
