/* Hold-collect board (shared by hold-collect games): the reels board plus the lock grid laid over its window.
   Colours and decoration come from the game's skin (--lock-bg, --lock-cell, --coin-ink, --coin-stroke). */
.hold-board .lock{position:absolute;inset:0;z-index:3;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,3),var(--cell));grid-template-columns:repeat(var(--reels,5),var(--cell));background:var(--lock-bg,rgba(0,0,0,.72));animation:hb-in .35s ease-out}
.hold-board .lcell{position:relative;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--lock-cell,rgba(255,255,255,.08))}
.hold-board .lcell .sym,.hold-board .cell.coin .sym{position:relative;width:88%;height:88%}
.hold-board .val{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);font:800 calc(var(--cell)*.2)/1 var(--ui,system-ui);color:var(--coin-ink,#fff);white-space:nowrap;
  -webkit-text-stroke:calc(var(--cell)*.03) var(--coin-stroke,#2a1a06);paint-order:stroke fill;font-variant-numeric:tabular-nums;pointer-events:none}
.hold-board .lcell.roll .sym{animation:hb-roll .6s ease-in-out}
.hold-board .lcell.drop .sym{animation:hb-drop .42s cubic-bezier(.2,1.3,.4,1)}
.hold-board .lcell.fire{animation:hb-fire .6s ease-out}
.hold-board .lcell.dbl .val{animation:hb-dbl .55s ease-out}
.hold-board .lcell.collect .sym{animation:hb-collect .5s ease-out;filter:drop-shadow(0 0 8px var(--win-glow,var(--primary)))}
@keyframes hb-in{from{opacity:0}to{opacity:1}}
@keyframes hb-roll{0%,100%{transform:none;opacity:1}30%{transform:translateY(-10%) scale(.92);opacity:.55}60%{transform:translateY(8%) scale(.96);opacity:.7}}
@keyframes hb-drop{0%{transform:translateY(-60%) scale(1.1);opacity:0}100%{transform:none;opacity:1}}
@keyframes hb-fire{0%{box-shadow:inset 0 0 0 1px var(--lock-cell),0 0 0 0 var(--accent)}40%{box-shadow:inset 0 0 0 3px var(--accent),0 0 22px 6px var(--accent)}100%{box-shadow:inset 0 0 0 1px var(--lock-cell)}}
@keyframes hb-dbl{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.45)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes hb-collect{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
body.still .hold-board .lock,body.still .hold-board .lcell .sym,body.still .hold-board .lcell,body.still .hold-board .val{animation:none!important}
@media (prefers-reduced-motion:reduce){.hold-board .lock,.hold-board .lcell .sym,.hold-board .lcell,.hold-board .val{animation:none!important}}
