/* Ludo: tabla (SVG), figure kao dugmad, kockica u sredini, pločice igrača uz kućice. */
.is-game .felt.ludo{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.lubd{position:absolute;inset:0}
.board.lubd{touch-action:manipulation}
.luart{position:absolute;border-radius:10px;box-shadow:0 0 0 6px #6b4226,0 0 0 8px #3b2414,0 18px 40px rgba(0,0,0,.45)}
.luart svg{display:block;width:100%;height:100%}
/* figura: pion odozgo (krug u boji, svetao prsten, senka) */
.lupc{position:absolute;left:0;top:0;width:calc(var(--u)*.8);height:calc(var(--u)*.8);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)*.07) #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}
.lupc[hidden]{display:none}
.lupc::after{content:"";position:absolute;inset:28%;border-radius:50%;background:rgba(0,0,0,.18)}
.lupc.can{cursor:pointer;box-shadow:0 0 0 calc(var(--u)*.07) #fffaf0,0 0 0 calc(var(--u)*.16) rgba(242,201,100,.9),0 calc(var(--u)*.08) calc(var(--u)*.16) rgba(0,0,0,.5);animation:lupulse 1.1s ease-in-out infinite}
@keyframes lupulse{50%{box-shadow:0 0 0 calc(var(--u)*.07) #fffaf0,0 0 0 calc(var(--u)*.24) rgba(255,214,110,.75),0 calc(var(--u)*.08) calc(var(--u)*.16) rgba(0,0,0,.5)}}
.lupc.hint{animation:glow 1.1s ease-in-out infinite}
.lupc.home{width:calc(var(--u)*.5);height:calc(var(--u)*.5);margin:calc(var(--u)*.15)}
.lupc.nope{animation:lunope .38s}
@keyframes lunope{25%{margin-left:-5px}60%{margin-left:4px}100%{margin-left:0}}
.lupc:focus-visible{outline:3px solid var(--brass-hi);outline-offset:2px}
/* kockica u sredini table */
.ludiew{position:absolute;left:0;top:0;z-index:40}
.ludo .die2d.ludie{display:block;box-shadow:0 0 0 3px var(--dc),0 6px 12px rgba(0,0,0,.4),inset 0 -4px 0 rgba(0,0,0,.12),inset 0 1px 0 #fff}
.ludo .die2d.ludie:disabled{cursor:default}
.ludo .die2d.ludie:disabled:hover{transform:none}
.ludo .die2d.ludie.can{animation:ludie 1.2s ease-in-out infinite}
@keyframes ludie{50%{box-shadow:0 0 0 5px var(--dc),0 0 22px 6px rgba(255,214,110,.7),inset 0 -4px 0 rgba(0,0,0,.12)}}
/* pločice igrača */
.luplate{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}
.luplate[hidden]{display:none}
.luplate .dot,.lunames .dot{width:14px;height:14px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 2px #fffaf0;flex:none}
.luplate b{font:700 15px var(--sans)}
.luplate small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-3)}
.luplate .hm{margin-left:4px;padding:2px 8px;border-radius:12px;background:rgba(255,255,255,.12);font-weight:800;font-variant-numeric:tabular-nums}
.luplate.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)}
.luplate.win{background:#fbf6ea;color:var(--black)}
.luplate.win small{color:#6b5a3e}
/* natpis */
.lubanner{position:absolute;left:50%;top:90%;transform:translate(-50%,0);z-index:45;pointer-events:none;opacity:0;transition:opacity .25s;max-width:94%;
  font:italic 700 clamp(16px,2vw,22px)/1.2 var(--serif);color:#fff3d6;text-shadow:0 2px 10px rgba(0,0,0,.6);text-align:center}
.lubanner.on{opacity:1}
/* više ljudi na uređaju */
.luppl{margin:6px 0 10px}
.lunames{display:grid;gap:8px;margin-bottom:12px}
.lunames label{display:flex;align-items:center;gap:10px}
.lunames label[hidden]{display:none}
.lunames 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){
  .luplate{height:34px;padding:0 9px;gap:6px;font-size:12px}
  .luplate b{font-size:13px}
  .luplate small{display:none}
  .luplate .hm{padding:2px 6px}
}
