/* ===== Sticky Wilds (.sk-) — 5x3 multiplier wilds, bonus pick, sticky wilds, ante + bonus buy ===== */
#gStage,#gControls{--gold:#fde047;--gold2:#f59e0b}
.sk-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.sk-top{min-height:36px;display:flex;align-items:center;justify-content:center;max-width:100%}
.sk-frame{position:relative;padding:calc(var(--gap,8px) + 5px);padding-top:6px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.12));box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 24px 60px rgba(0,0,0,.3);transition:box-shadow .4s;max-width:100%}
.sk-frame::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(255,255,255,0) 40%,color-mix(in srgb,var(--ta) 70%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.sk-frame.fs{box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 0 0 3px var(--gold),0 0 44px rgba(253,224,71,.55),0 24px 60px rgba(0,0,0,.32);animation:skfsglow 1.8s ease-in-out infinite alternate}
.sk-heads{display:grid;grid-template-columns:repeat(5,var(--cell,90px));gap:var(--gap,8px);margin-bottom:5px;justify-content:center}
.sk-heads span{justify-self:center;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--display);font-weight:900;font-size:clamp(8.5px,calc(var(--cell,90px) * .13),12px);line-height:1;padding:3px 7px;border-radius:20px;color:#fff;letter-spacing:.02em}
.sk-heads .w{background:linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:0 2px 8px rgba(234,88,12,.4)}
.sk-heads .s{background:rgba(0,0,0,.28);font-size:clamp(10px,calc(var(--cell,90px) * .16),15px);padding:2px 9px}

.sk-reels{position:relative;display:grid;gap:var(--gap,8px);justify-content:center}
.sk-reel{position:relative;overflow:hidden;border-radius:15px;background:linear-gradient(180deg,rgba(16,6,42,.62),rgba(16,6,42,.4));box-shadow:inset 0 8px 14px rgba(0,0,0,.35),inset 0 -8px 14px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.14)}
.sk-reel::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 18%,transparent 82%,rgba(0,0,0,.28));border-radius:inherit}
.sk-strip{display:flex;flex-direction:column;will-change:transform}
.sk-reel.blur .sk-strip{filter:blur(1.6px) brightness(1.05)}
.sk-reel.tease{box-shadow:0 0 0 3px #f472b6,0 0 30px #f472b6,inset 0 8px 14px rgba(0,0,0,.35);animation:tease .4s infinite alternate}
.sk-reel.land .sk-strip{animation:skland .26s ease-out}
.sk-cell{position:relative;display:grid;place-items:center;flex:none;transition:opacity .25s}
.sk-cell.dim,.sk-lock.dim{opacity:.32}

.sk-sym{position:relative;width:88%;height:88%;display:grid;place-items:center;line-height:1;border-radius:26%;font-size:calc(var(--cell,90px) * .56);background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--sc,#a78bfa) 55%,transparent) 0 26%,transparent 66%)}
.sk-sym span{display:block;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}
.sk-sym.hi{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--sc) 85%,#fff) 0 20%,color-mix(in srgb,var(--sc) 55%,transparent) 42%,transparent 70%)}
.sk-sym.ro{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--sc) 30%,transparent) 0 30%,transparent 64%)}
.sk-sym.ro span{font-family:var(--display);font-weight:900;font-size:calc(var(--cell,90px) * .5);color:#fff;-webkit-text-stroke:2px var(--sc);paint-order:stroke fill;text-shadow:0 3px 0 color-mix(in srgb,var(--sc) 55%,#000),0 0 16px var(--sc);filter:none}
.sk-rt{font-family:var(--display);font-weight:900;font-size:1em}
.sk-sym.wd{border-radius:22%;background:radial-gradient(circle at 50% 35%,#fff7c2 0,#fde047 30%,#f59e0b 68%,#b45309 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7),inset 0 -6px 12px rgba(146,64,14,.55),0 0 18px rgba(253,224,71,.55)}
.sk-sym.wd span{font-size:.82em;margin-top:-10%}
.sk-sym.wd i,.sk-sym.sc i{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);font-style:normal;font-size:max(7px,calc(var(--cell,90px) * .11));font-weight:900;font-family:var(--display);color:#fff;background:#7c2d12;padding:1px 6px;border-radius:6px;letter-spacing:.06em;line-height:1.3;white-space:nowrap}
.sk-sym.wd b{position:absolute;top:-4%;right:-6%;min-width:42%;padding:2px 5px;border-radius:999px;background:linear-gradient(135deg,#e11d48,#7c3aed);color:#fff;font-family:var(--display);font-weight:900;font-size:max(10px,calc(var(--cell,90px) * .19));line-height:1.15;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.4);text-align:center}
.sk-sym.sc{background:radial-gradient(circle,#fff 0 16%,rgba(240,171,252,.9) 34%,rgba(168,85,247,.35) 58%,transparent 72%);animation:x1scat 1.6s ease-in-out infinite}
.sk-sym.sc i{background:#db2777}

.sk-cell.win .sk-sym,.sk-lock.win .sk-sym{animation:x1win .42s ease-in-out infinite alternate;box-shadow:inset 0 0 0 2px var(--gold),0 0 22px color-mix(in srgb,var(--gold) 80%,transparent);z-index:2}
.sk-cell.win .sk-sym:not(.wd){background:radial-gradient(circle,rgba(255,255,255,.75) 0 26%,color-mix(in srgb,var(--ta) 55%,transparent) 55%,color-mix(in srgb,var(--ta) 22%,transparent) 100%)}
.sk-cell.hit .sk-sym{animation:skhit .5s cubic-bezier(.2,1.6,.4,1),x1scat 1.6s ease-in-out .5s infinite}
.sk-cell.drop .sk-sym{animation:skdrop .45s cubic-bezier(.2,1.6,.4,1)}
.xpulse .sk-sym.wd b{animation:skx .35s ease-in-out 4 alternate}

/* sticky overlay: same grid as the reels, opaque tiles cover the spinning reel below */
.sk-locks{position:absolute;inset:0;display:grid;column-gap:var(--gap,8px);row-gap:0;justify-content:center;pointer-events:none;z-index:3}
.sk-lock{position:relative;display:grid;place-items:center;border-radius:15px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--ta) 38%,#1d0b3c) 0,#1d0b3c 78%);box-shadow:inset 0 0 0 2px var(--gold),0 0 18px rgba(253,224,71,.6);transition:opacity .25s}
.sk-lock::before{content:"";position:absolute;inset:-2px;border-radius:17px;background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,255,255,.85) 80%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;animation:spin 2.6s linear infinite;opacity:.8}
.sk-lock em{position:absolute;top:4%;left:5%;font-style:normal;font-size:max(10px,calc(var(--cell,90px) * .17));line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5));z-index:3}
.sk-lock.new{animation:skslam .5s cubic-bezier(.2,1.5,.4,1)}
.sk-lock.new em{animation:sklock .6s .25s cubic-bezier(.2,1.8,.4,1) both}

.sk-lines{z-index:4}
.sk-reels .x1-floats{z-index:6}
.sk-x{color:var(--gold)}

/* ---------- controls ---------- */
.sk-ctl{display:flex;flex-direction:column;gap:10px;margin:2px 0 4px}
.sk-buy{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;width:100%;border:0;cursor:pointer;text-align:left;padding:10px 12px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#db2777,#f97316 55%,#f59e0b);box-shadow:0 8px 22px rgba(219,39,119,.35),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .15s,filter .2s,opacity .2s;font-family:inherit}
.sk-buy::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:skshine 3.2s ease-in-out infinite}
.sk-buy:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07)}
.sk-buy:active:not(:disabled){transform:translateY(1px)}
.sk-buy:disabled{cursor:not-allowed}
.sk-buy.off{opacity:.5;filter:grayscale(.55)}
.sk-buy:disabled:not(.off){opacity:.88}
.sk-buy.off::after{display:none}
.sk-buy-ico{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.sk-buy-t{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.sk-buy-t b{font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:.04em}
.sk-buy-t small{font-weight:800;font-size:13px;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-ante{position:relative;display:flex;align-items:center;gap:10px;cursor:pointer;padding:9px 12px;border-radius:16px;background:var(--lilac);border:2px solid transparent;transition:border-color .2s,background .2s;user-select:none}
.sk-ante input{position:absolute;left:12px;top:50%;width:1px;height:1px;opacity:0;pointer-events:none}
.sk-sw{flex:none;position:relative;width:42px;height:24px;border-radius:20px;background:#cbbde6;transition:background .2s}
.sk-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:transform .2s}
.sk-ante.on{border-color:#16a34a;background:#ecfdf3}
.sk-ante.on .sk-sw{background:#16a34a}
.sk-ante.on .sk-sw::after{transform:translateX(18px)}
.sk-ante:has(input:disabled){opacity:.82;cursor:not-allowed}
.sk-ante input:focus-visible + .sk-sw{outline:2px solid var(--p);outline-offset:2px}
.sk-ante-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sk-ante-t b{font-family:var(--display);font-weight:900;font-size:14px;color:var(--p-dark);letter-spacing:.03em}
.sk-ante-t small{font-size:12px;color:var(--muted);font-weight:600}

/* ---------- confirm ---------- */
.sk-confirm{position:absolute;inset:0;z-index:32;display:grid;place-items:center;padding:16px;background:rgba(20,8,45,.62);backdrop-filter:blur(3px);animation:fade .2s}
.sk-confirm-box{width:min(380px,100%);background:#fff;border-radius:22px;padding:20px 20px 18px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:pop .25s}
.sk-confirm-ico{font-size:30px;letter-spacing:6px;margin-bottom:4px}
.sk-confirm-box h3{margin:0 0 6px;font-family:var(--display);font-size:22px;color:var(--p-ink)}
.sk-confirm-box p{margin:0 0 16px;color:var(--muted);font-size:14px}
.sk-confirm-box p b{color:var(--ink)}
.sk-confirm-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.sk-confirm-btns .btn{flex:1;min-width:120px}

/* ---------- bonus pick ---------- */
.sk-pick{position:absolute;inset:0;z-index:24;display:grid;place-items:center;padding:12px;background:radial-gradient(circle at 50% 45%,rgba(91,33,182,.86),rgba(17,6,40,.95));backdrop-filter:blur(2px);animation:fade .25s}
.sk-pick.out{animation:skout .26s ease-in forwards}
.sk-pick-box{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:100%}
.sk-pick-h{font-family:var(--display);font-weight:900;font-size:clamp(28px,5.4vw,46px);line-height:1;color:var(--gold);text-shadow:0 5px 0 #7c2d12,0 10px 30px rgba(0,0,0,.45);letter-spacing:.03em;animation:bwpop .55s cubic-bezier(.2,1.6,.4,1)}
.sk-pick-sc{display:flex;gap:14px;font-size:clamp(26px,4.4vw,36px)}
.sk-pick-sc span{animation:bob 1s ease-in-out infinite;filter:drop-shadow(0 0 10px #f0abfc)}
.sk-pick-sc span:nth-child(2){animation-delay:.15s}.sk-pick-sc span:nth-child(3){animation-delay:.3s}
.sk-pick-win{position:relative;width:150px;height:calc(var(--ih) * 3);overflow:hidden;border-radius:20px;background:linear-gradient(180deg,#1d0b3c,#3b0764 50%,#1d0b3c);box-shadow:0 0 0 4px var(--gold),0 0 36px rgba(253,224,71,.5),inset 0 10px 20px rgba(0,0,0,.5),inset 0 -10px 20px rgba(0,0,0,.5);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),#000 30%,#000 70%,rgba(0,0,0,.55))}
.sk-pick-strip{will-change:transform}
.sk-pick-strip div{height:var(--ih);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:40px;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.4)}
.sk-pick-strip div.hi{color:#f9a8d4}
.sk-pick-strip div.on{color:var(--gold);animation:skpick .6s cubic-bezier(.2,1.6,.4,1) both;text-shadow:0 0 18px rgba(253,224,71,.9),0 3px 0 #7c2d12}
.sk-pick-win i{position:absolute;left:0;right:0;top:var(--ih);height:var(--ih);border-top:3px solid rgba(253,224,71,.85);border-bottom:3px solid rgba(253,224,71,.85);pointer-events:none;background:linear-gradient(90deg,rgba(253,224,71,.2),transparent 25%,transparent 75%,rgba(253,224,71,.2))}
.sk-pick-win i::before,.sk-pick-win i::after{content:"";position:absolute;top:50%;width:0;height:0;border:10px solid transparent;transform:translateY(-50%)}
.sk-pick-win i::before{left:0;border-left-color:var(--gold)}
.sk-pick-win i::after{right:0;border-right-color:var(--gold)}
.sk-pick-win.done{animation:x1fsglow 1s ease-in-out infinite alternate}
.sk-pick-sub{color:#fff;font-weight:700;font-size:14px;max-width:320px;min-height:40px}
.sk-pick-sub b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(26px,5vw,40px);color:var(--gold);text-shadow:0 4px 0 #7c2d12;animation:bwpop .5s cubic-bezier(.2,1.6,.4,1)}
.sk-pick-sub small{display:block;font-size:13px;opacity:.9;margin-top:4px}
.sk-pick-go{border:0;cursor:pointer;padding:11px 34px;border-radius:30px;font-family:var(--display);font-weight:900;font-size:18px;letter-spacing:.08em;color:#7c2d12;background:linear-gradient(180deg,#fff7ae,#fde047 45%,#f59e0b);box-shadow:0 6px 0 #b45309,0 12px 26px rgba(0,0,0,.35);animation:bob 1.2s ease-in-out infinite}
.sk-pick-go:active{transform:translateY(3px);box-shadow:0 3px 0 #b45309}

.sk-fsbar em{background:var(--gold);color:#7c2d12;border-radius:10px;padding:1px 9px;font-size:14px;font-style:normal}
.sk-ov .sk-fw{font-size:.62em !important;color:var(--gold) !important;margin-top:10px !important}

@keyframes skfsglow{to{box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 0 0 3px #fb923c,0 0 56px rgba(251,146,60,.6),0 24px 60px rgba(0,0,0,.32)}}
@keyframes skland{0%{transform:translateY(-7px)}60%{transform:translateY(3px)}100%{transform:translateY(0)}}
@keyframes skhit{from{transform:scale(1.7);filter:brightness(1.8)}}
@keyframes skdrop{from{transform:scale(1.5) rotate(-10deg);filter:brightness(1.6)}}
@keyframes skx{to{transform:scale(1.35) rotate(-8deg);filter:brightness(1.3)}}
@keyframes skslam{0%{transform:scale(1.9) rotate(-14deg);opacity:0;filter:brightness(2)}55%{opacity:1}100%{transform:none;filter:none}}
@keyframes sklock{from{transform:scale(0) rotate(-40deg);opacity:0}}
@keyframes skshine{0%,55%{left:-60%}100%{left:130%}}
@keyframes skpick{from{transform:scale(.5)}60%{transform:scale(1.35)}to{transform:scale(1.15)}}
@keyframes skout{to{opacity:0;transform:scale(1.04)}}

@media (max-width:760px){
  .sk-wrap{gap:7px}
  .sk-frame{border-radius:19px}
  .sk-reel,.sk-lock{border-radius:11px}
  .sk-lock::before{border-radius:13px}
  .sk-sym.ro span{-webkit-text-stroke:1.5px var(--sc)}
  .sk-fsbar{padding:5px 10px;gap:5px}.sk-fsbar b{font-size:16px}.sk-fsbar span{font-size:11.5px}.sk-fsbar em{font-size:12px}
  .sk-pick-win{width:130px}
  .sk-pick-strip div{font-size:34px}
}
.sk-lines polyline{animation-duration:.5s;stroke-width:5}
.sk-ov{background:radial-gradient(circle at 50% 45%,rgba(91,33,182,.82),rgba(17,6,40,.9))}
.sk-ov small:last-child{font-size:.3em}
