/* av-cd.css — Candy Cascade (candy-cascade.html). Same layout as the other slots (re-themed in gold and bronze), plus the 6x5 cascade grid. Loaded after av-slots.css. */
:root{--night:#2A0E36;--deep:#3B1346;--mid:#7A2A6B;--vio:#FF4FA3;--spec:#FFD6EC;--bone:#FFEAF6;--ember:#FFC857;--muted:#D9A4C9;--serif:'Lilita One','Fredoka',Georgia,serif;--sans:'Inter',system-ui,sans-serif}

/* the cabinet: the whole game sits inside one big frame (your frame art replaces the border and the corner ornaments) */
#cab{position:relative;width:min(100%,760px);border-radius:26px;padding:24px 12px 14px;display:flex;flex-direction:column;gap:11px;
  background:linear-gradient(180deg,rgba(60,20,75,.55) 0%,rgba(60,20,75,.30) 40%,rgba(60,20,75,.34) 62%,rgba(60,20,75,.62) 100%);box-shadow:0 0 0 1px rgba(255,170,214,.28),inset 0 0 50px rgba(0,0,0,.35)}
#cab::before{content:"";position:absolute;inset:7px;border-radius:24px;border:1px solid rgba(255,170,214,.18);pointer-events:none}
.orn{position:absolute;width:40px;height:40px;opacity:.9;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,79,163,.8))}
.orn.tl{left:-4px;top:-4px}.orn.tr{right:-4px;top:-4px;transform:scaleX(-1)}.orn.bl{left:-4px;bottom:-4px;transform:scaleY(-1)}.orn.br{right:-4px;bottom:-4px;transform:scale(-1,-1)}
.plate{position:absolute;left:50%;top:-13px;transform:translateX(-50%);z-index:3;padding:6px 24px 7px;font:800 13px var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--spec);white-space:nowrap;
  background:linear-gradient(180deg,#7A2A6B,#3B1346);border:1px solid rgba(255,170,214,.6);border-radius:3px 3px 12px 12px;text-shadow:0 0 12px rgba(255,79,163,.95);box-shadow:0 0 18px rgba(255,79,163,.45)}
.rf{position:relative;border-radius:16px;padding:7px;background:linear-gradient(160deg,#A8438F,#4B1A57 60%,#7A2A6B);box-shadow:0 0 0 1px #220A2C,0 0 0 2px rgba(255,170,214,.5),0 6px 20px rgba(0,0,0,.6),0 0 30px rgba(255,79,163,.25)}
.reels{position:relative;display:grid;grid-template-columns:repeat(5,1fr);border-radius:10px;background:#260B30;box-shadow:inset 0 0 26px rgba(0,0,0,.95),inset 0 0 0 1px rgba(255,170,214,.22);overflow:hidden}
.col{position:relative;overflow:hidden;aspect-ratio:1/calc(3*var(--r,1.2));border-right:1px solid rgba(255,170,214,.12);background:linear-gradient(180deg,rgba(255,79,163,.12),rgba(0,0,0,0) 32%,rgba(0,0,0,0) 68%,rgba(255,79,163,.12))}
.col:last-child{border-right:0}
.strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.cell{aspect-ratio:1/var(--r,1.2);display:flex;align-items:center;justify-content:center;transition:opacity .35s}
.cell img{width:88%;height:82%;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,140,200,.34));transition:transform .3s}
.cell img.tablet{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,200,87,.8))}
.cell img.__x{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(196,181,253,.8))}
.cell img.wild{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,255,255,.7))}
.cell img.scatter{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(94,234,212,.7))}
.cell img.extra{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(251,113,133,.65))}
.moving .cell img{filter:blur(2.4px) brightness(1.15) drop-shadow(0 0 8px rgba(255,140,200,.6))}
.reels.dim .cell:not(.on){opacity:.38}
.reels.dim .cell.on img{transform:scale(1.07)}
#ln{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
#ln path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.lbase{stroke:rgba(255,205,150,.95);stroke-width:3.2;filter:drop-shadow(0 0 5px rgba(255,200,87,.95)) drop-shadow(0 0 12px rgba(255,200,87,.55))}
.lines{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin:6px 4px 0;letter-spacing:.03em}
.pop{position:fixed;left:0;top:0;z-index:60;pointer-events:none;font:700 22px var(--serif);letter-spacing:.08em;color:#FFE3A0;white-space:nowrap;text-shadow:0 0 12px rgba(255,200,87,.95),0 2px 4px rgba(0,0,0,.8);will-change:transform,opacity}
.betpop{position:fixed;inset:0;background:rgba(40,10,50,.6);display:none;align-items:center;justify-content:center;z-index:110}
.betpop.open{display:flex}
.betbox{width:min(86%,300px);padding:16px;border-radius:16px;background:radial-gradient(120% 80% at 50% 0%,#7A2A6B,#3B1346);box-shadow:0 0 0 1px #220A2C,0 0 0 2px rgba(255,170,214,.6),0 0 30px rgba(255,79,163,.4);display:flex;flex-direction:column;gap:10px;text-align:center}
.betbox b{font:700 13px var(--serif);letter-spacing:.2em;color:var(--spec)}
.betbox input{font:800 24px var(--sans);text-align:center;color:#fff;background:#2C0F38;border:1px solid rgba(255,170,214,.4);border-radius:10px;padding:8px;outline:none;width:100%}
.betbox .go{min-height:40px;border-radius:999px;border:1px solid rgba(255,170,214,.5);background:linear-gradient(180deg,#A8438F,#4B1A57);color:var(--spec);font:700 12px var(--serif);letter-spacing:.12em;cursor:pointer}
.betc{cursor:pointer}
.win{min-height:20px;text-align:center;font:700 14px var(--serif);letter-spacing:.1em;color:#FFE3A0;text-shadow:0 0 12px rgba(255,200,87,.7)}
.dock,.top,.lines,.win{text-shadow:0 1px 6px rgba(0,0,0,.9)}
.top{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}
.pill{font:700 12px var(--serif);letter-spacing:.06em;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,170,214,.45);background:linear-gradient(180deg,#6B2A78,#3B1346);color:var(--spec);cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:inset 0 0 10px rgba(255,79,163,.2)}
.pill img{width:20px;height:20px;object-fit:contain}
.pill.on{border-color:var(--ember);color:#FFE3A0;box-shadow:0 0 14px rgba(255,200,87,.4),inset 0 0 10px rgba(255,200,87,.2)}
.betc{text-align:center;line-height:1.1}
.betc small{display:block;font:600 10px var(--serif);letter-spacing:.2em;color:var(--muted)}
.betc b{font:700 21px var(--serif);letter-spacing:.04em;color:#fff;font-variant-numeric:tabular-nums}
.speeds{display:flex;gap:6px}
.pill.sp{padding:0 10px;font-size:11px}
.dock{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;justify-items:center}
.step{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,170,214,.5);background:radial-gradient(circle at 35% 30%,#A8438F,#4B1A57);color:var(--spec);font:700 26px var(--sans);cursor:pointer;box-shadow:inset 0 0 12px rgba(255,79,163,.3),0 4px 12px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.step:active{transform:scale(.94)}
/* a standard slot spin button: neutral dark glass with a thin light ring; a game only sets --acc */
.spin{--acc:255,79,163;position:relative;width:88px;height:88px;border-radius:50%;border:0;cursor:pointer;color:#FFF0FA;background:radial-gradient(circle at 38% 30%,#7A2A6B 0%,#4B1A57 55%,#3B1346 100%);
  box-shadow:0 0 0 2px #2A0E36,0 0 0 3px rgba(228,221,242,.55),0 0 22px rgba(var(--acc),.28),inset 0 1px 0 rgba(255,255,255,.14),inset 0 -8px 16px rgba(0,0,0,.35);transition:transform .08s,box-shadow .2s}
.spin:hover{box-shadow:0 0 0 2px #2A0E36,0 0 0 3px rgba(228,221,242,.8),0 0 28px rgba(var(--acc),.45),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -8px 16px rgba(0,0,0,.35)}
.spin:active{transform:scale(.95)}
.spin svg{width:40px;height:40px;display:block;margin:0 auto}
@keyframes rot{to{transform:rotate(360deg)}}
.scrim{position:fixed;inset:0;background:rgba(40,10,50,.72);display:none;align-items:center;justify-content:center;z-index:100}
.scrim.open{display:flex}
.sheet{position:relative;width:min(100%,920px);border-radius:24px 24px 0 0;padding:20px 14px 20px;display:flex;flex-direction:column;gap:10px;animation:up .25s ease-out;
  background:radial-gradient(120% 70% at 50% 0%,#7A2A6B,#3B1346 55%,#2C0F38);box-shadow:0 0 0 1px #220A2C,0 0 0 2px rgba(255,170,214,.6),0 -10px 40px rgba(255,79,163,.4)}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.sheet h3{font:800 17px var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--spec);text-align:center;text-shadow:0 0 14px rgba(255,79,163,.9);padding-bottom:2px}
.sheet h3 button{position:absolute;right:14px;top:14px;background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer}
.im.prem::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,200,87,0),rgba(255,200,87,.75),rgba(255,226,194,.9),rgba(255,200,87,0) 60%,rgba(255,200,87,0));filter:blur(5px);animation:aura 3.4s linear infinite}
.im.prem::after{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,140,.5),rgba(255,200,87,0) 70%);animation:breathe 1.8s ease-in-out infinite alternate}
.im.prem img{filter:drop-shadow(0 0 12px rgba(255,170,90,.95)) drop-shadow(0 0 4px rgba(255,255,255,.7));z-index:1}
.im .sp{position:absolute;z-index:2;width:12px;height:12px;background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:tw 1.6s ease-in-out infinite}
@keyframes aura{to{transform:rotate(360deg)}}@keyframes breathe{from{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}@keyframes tw{0%,100%{opacity:.15;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}}

.sheet{border-radius:24px;max-height:94vh;overflow:auto}
.fbet{align-self:center;text-align:center;padding:8px 18px 10px;border-radius:12px;background:linear-gradient(180deg,#552063,#33123E);border:1px solid rgba(255,170,214,.3)}
.fbet small{display:block;font:600 10px var(--serif);letter-spacing:.2em;color:var(--muted)}
.fbet div{display:flex;align-items:center;gap:16px;margin-top:2px}
.fbet button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,170,214,.5);background:radial-gradient(circle at 35% 30%,#A8438F,#4B1A57);color:var(--spec);font:700 20px var(--sans);cursor:pointer}
.fbet b{font:700 22px var(--serif);color:#fff;min-width:80px;letter-spacing:.04em}
.cards{display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:10px}
.fc{height:100%}.fc p{min-height:3.9em}
.fc{display:grid;grid-template-columns:70px 1fr;grid-template-areas:"im t" "im p" "im v" "btn btn";gap:2px 12px;align-items:start;padding:12px;border-radius:14px;border:1px solid rgba(255,170,214,.3);background:linear-gradient(180deg,rgba(130,50,150,.6),rgba(70,25,90,.78));box-shadow:inset 0 0 16px rgba(255,79,163,.14)}
.fc.prem{border-color:rgba(255,200,87,.55);box-shadow:inset 0 0 20px rgba(255,200,87,.14),0 0 18px rgba(255,200,87,.2)}
.fc .ft{grid-area:t;font:700 14px var(--serif);letter-spacing:.08em;color:#fff;text-transform:uppercase}
.fc .im{grid-area:im;position:relative;width:64px;height:64px}
.fc .im img{position:absolute;left:4px;top:4px;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,140,200,.6))}
.fc p{grid-area:p;font-size:12px;line-height:1.4;color:#F5D4EA}
.fc i{grid-area:v;font-size:11px;color:var(--muted)}
.price{grid-area:btn;margin-top:10px;min-height:46px;border-radius:10px;border:1px solid rgba(255,170,214,.6);background:linear-gradient(180deg,#A8438F,#6B2A78);color:#fff;cursor:pointer;box-shadow:0 0 14px rgba(255,79,163,.35);transition:transform .08s}
.price:active{transform:scale(.98)}
.price span{font:800 20px var(--serif);letter-spacing:.06em}
.price.hot{border-color:var(--ember);background:linear-gradient(180deg,#C2307F,#7A1F58);box-shadow:0 0 16px rgba(255,200,87,.45)}
.price.on{background:linear-gradient(180deg,#E04898,#C2307F);border-color:#FFD070}
@media(min-width:760px){
  .cards{grid-template-columns:repeat(3,1fr);gap:14px}
  .fc{grid-template-columns:1fr;grid-template-areas:"t" "im" "p" "v" "btn";justify-items:center;text-align:center;padding:16px 14px 14px}
  .fc .im{width:104px;height:104px;margin:8px 0}.fc .im img{width:96px;height:96px;left:4px;top:4px}
  .price{width:100%}
}
.fsover{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:120;background:radial-gradient(circle,rgba(90,30,110,.85),rgba(40,10,50,.92));font:800 34px var(--serif);letter-spacing:.2em;color:#FFE3A0;text-shadow:0 0 28px rgba(255,200,87,.9);text-align:center;line-height:1.5}.fsover.open{display:flex;animation:up .3s ease-out}.fsover small{display:block;font-size:14px;color:var(--spec);letter-spacing:.3em}

#ptw2 *{box-sizing:border-box}
html body.cdy, html body.cdy *{font-family:var(--sans)!important}
html body.cdy .plate,html body.cdy .jt b,html body.cdy .jt span,html body.cdy .betc small,html body.cdy .betc b,html body.cdy .pill,html body.cdy .fbet small,html body.cdy .fbet b,html body.cdy .sheet h3,html body.cdy .fc .ft,html body.cdy .price span,html body.cdy .win,html body.cdy .pop,html body.cdy .fsover,html body.cdy .fsover small,html body.cdy .betbox b,html body.cdy .cele *,html body.cdy .fc .ft{font-family:var(--serif)!important}
#stage:has(#cdscene){padding:8px}
#cdscene{position:relative;flex:1;width:100%;min-height:0;border-radius:18px;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#2A0E36;box-shadow:0 0 0 1px rgba(255,170,214,.35),0 0 30px rgba(0,0,0,.6)}
#cdscene::before{content:"";position:absolute;inset:0;background:var(--vfbg,url(../assets/cd/cd-bg-m.webp)) center/cover no-repeat;filter:brightness(.82) saturate(1.05)}
#cdscene::after{content:"";position:absolute;inset:0;background:radial-gradient(115% 90% at 50% 48%,rgba(45,14,60,0) 0%,rgba(45,14,60,.3) 62%,rgba(45,14,60,.78) 100%);pointer-events:none}
#cab{z-index:1}
/* win celebrations */
.cele{position:fixed;inset:0;z-index:130;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle,rgba(110,40,130,.88),rgba(40,10,50,.94));text-align:center;cursor:pointer;overflow:hidden}
.cele.open{display:flex;animation:up .3s ease-out}
.cele .t{font:800 40px var(--serif);letter-spacing:.2em;color:#FFF1CC;text-shadow:0 0 30px rgba(255,200,87,.95),0 0 60px rgba(255,79,163,.8);animation:tpop .7s cubic-bezier(.2,1.4,.4,1) both}
.cele.mega .t{font-size:46px;color:#FFE3A0}.cele.epic .t{font-size:52px;color:#fff}
.cele .a{font:800 44px var(--serif);letter-spacing:.06em;color:#fff;text-shadow:0 0 24px rgba(255,140,200,.95);font-variant-numeric:tabular-nums}
.cele small{font:600 12px var(--serif);letter-spacing:.3em;color:var(--spec);opacity:.8}
@keyframes rv{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes tpop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}
.flipping img{transform:scaleX(0);transition:transform .16s}


/* buttons beside the Spin dock: Auto and the paytable */
.dock{grid-template-columns:auto auto auto auto auto;justify-content:center;gap:12px}
.mini{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,170,214,.45);background:radial-gradient(circle at 35% 30%,#7A2A6B,#4B1A57);color:var(--spec);font:700 10px var(--serif);letter-spacing:.08em;cursor:pointer;box-shadow:inset 0 0 10px rgba(255,79,163,.25)}
.mini.on{border-color:var(--ember);color:#FFE3A0;box-shadow:0 0 14px rgba(255,200,87,.4)}
/* the free-spins look: a darker, redder room and a counter */
#cdscene.fs::before{filter:brightness(.5) saturate(1.2) hue-rotate(-30deg)}
#cdscene.fs::after{background:radial-gradient(115% 90% at 50% 48%,rgba(60,0,20,.05) 0%,rgba(40,0,16,.45) 62%,rgba(20,0,10,.9) 100%)}
.fsbar{display:none;align-self:center;padding:5px 18px;border-radius:999px;border:1px solid rgba(255,200,87,.7);background:linear-gradient(180deg,#7A1F58,#4B1A57);color:#FFE3A0;font:700 12px var(--serif);letter-spacing:.14em;box-shadow:0 0 18px rgba(255,200,87,.35)}
.fsbar.open{display:block;animation:up .3s ease-out}
/* anticipation: two hourglasses have landed, the remaining reels glow and slow down */
.col.ant{box-shadow:inset 0 0 0 1px rgba(94,234,212,.7),inset 0 0 30px rgba(94,234,212,.35);animation:antp .5s ease-in-out infinite alternate}
@keyframes antp{from{background-color:rgba(94,234,212,.04)}to{background-color:rgba(94,234,212,.14)}}
/* idle life: the candle flickers, the crystal ball breathes, the eye blinks */
.reels:not(.busy) .cell img.candle{animation:flick 2.6s ease-in-out infinite}
.reels:not(.busy) .cell img.tablet{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,200,87,.8))}
.cell img.__x{animation:breath 3.4s ease-in-out infinite}
.cell img.blink{animation:blink .32s ease-in-out}
@keyframes flick{0%,100%{filter:brightness(1) drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,170,80,.25))}30%{filter:brightness(1.18) drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,170,80,.55))}60%{filter:brightness(.95) drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,170,80,.2))}}
@keyframes breath{0%,100%{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(196,181,253,.6))}50%{filter:drop-shadow(0 3px 7px rgba(0,0,0,.7)) drop-shadow(0 0 22px rgba(214,200,255,.95))}}
@keyframes blink{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.08)}}
/* the autoplay sheet and the paytable */
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.opts button,.chk{min-height:42px;border-radius:10px;border:1px solid rgba(255,170,214,.4);background:linear-gradient(180deg,#6B2A78,#3B1346);color:var(--spec);font:700 14px var(--serif);cursor:pointer}
.opts button.sel,.chk.on{border-color:var(--ember);color:#FFE3A0;box-shadow:0 0 12px rgba(255,200,87,.35)}
.chk{display:block;width:100%;font:600 13px var(--sans);text-align:left;padding:0 14px}
.chk.on::after{content:"  ON";color:#FFE3A0;font-weight:800}
.sheet .go2{min-height:48px;border-radius:12px;border:1px solid var(--ember);background:linear-gradient(180deg,#C2307F,#7A1F58);color:#fff;font:800 16px var(--serif);letter-spacing:.14em;cursor:pointer;box-shadow:0 0 16px rgba(255,200,87,.4)}
.pt{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,170,214,.22);background:rgba(90,36,110,.6)}
.pt img{width:40px;height:40px;object-fit:contain;grid-row:1/3;filter:drop-shadow(0 0 8px rgba(255,140,200,.5))}
.pt b{font:700 13px var(--serif);letter-spacing:.06em;color:#fff}
.pt span{font:600 12px var(--sans);color:#F5D4EA}
.pt span em{font:700 13px var(--serif);font-style:normal;color:#FFE3A0}
.ptw{max-height:62vh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}
.pt.sp{grid-template-columns:44px 1fr}
html body.cdy .opts button,html body.cdy .sheet .go2,html body.cdy .pt b,html body.cdy .pt span em,html body.cdy .fsbar,html body.cdy .mini{font-family:var(--serif)!important}


/* start screen */
.fsover.intro{flex-direction:column;gap:12px;padding:20px;text-align:center}
.fsover .it{font-size:32px;letter-spacing:.18em}
.fsover .ic{font-size:20px;letter-spacing:.3em;color:#FFD6EC}
html body.cdy .fsover .id{font-family:var(--serif)!important;font-size:14px;line-height:1.65;letter-spacing:.01em;max-width:400px;color:#FFEAF6;text-shadow:0 1px 6px #000}
.go3{margin-top:10px;min-width:200px;min-height:52px;border-radius:12px;border:1px solid var(--ember);background:linear-gradient(180deg,#C2307F,#7A1F58);color:#fff;font:800 18px var(--serif);letter-spacing:.2em;cursor:pointer;box-shadow:0 0 22px rgba(255,200,87,.5);animation:gopulse 1.6s ease-in-out infinite alternate}
html body.cdy .go3{font-family:var(--serif)!important}
@keyframes gopulse{from{box-shadow:0 0 14px rgba(255,200,87,.3)}to{box-shadow:0 0 30px rgba(255,200,87,.75)}}
html body.cdy .fsover .it,html body.cdy .fsover .ic,html body.cdy .fsover .id{font-family:var(--serif)!important}

/* paytable chart and the five paylines */
.ptc{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;border:1px solid rgba(255,170,214,.25);background:rgba(0,0,0,.28)}
.pr{display:grid;grid-template-columns:40px 1fr 54px 54px 54px;gap:6px;align-items:center;padding:4px 4px;border-radius:8px}
.pr:nth-child(even){background:rgba(255,255,255,.04)}
.pr img{width:36px;height:36px;object-fit:contain}
.pr b{font:700 13px var(--serif);letter-spacing:.04em;color:#fff;display:flex;flex-direction:column;gap:1px}
.pr b small{font:600 10.5px var(--sans);letter-spacing:0;color:var(--muted)}
.pr span{font:700 14px var(--serif);color:#FFE9A8;text-align:right;font-variant-numeric:tabular-nums}
.pr.hd{border-bottom:1px solid rgba(255,170,214,.25);border-radius:0;padding-bottom:6px}
.pr.hd b{font:600 11px var(--sans);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.pr.hd span{font:700 12px var(--sans);color:var(--muted)}
.ptn{font:600 11.5px var(--sans);color:var(--muted);padding:0 4px}
.ptl{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1px solid rgba(255,170,214,.22);background:rgba(90,36,110,.4)}
.ptl b{font:700 13px var(--serif);letter-spacing:.06em;color:#fff}
.ptl span{font:600 12px var(--sans);color:#F5D4EA;line-height:1.45}
.pls{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pl{display:flex;flex-direction:column;align-items:center;gap:3px}
.pl svg{width:100%;height:auto}
.pl rect{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.22);stroke-width:.6}
.pl polyline{fill:none;stroke:#FFD76A;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.pl circle{fill:#FFD76A}
.pl small{font:600 10.5px var(--sans);color:var(--muted);text-align:center}
html body.cdy .pr b,html body.cdy .pr span,html body.cdy .ptl b{font-family:var(--serif)!important}
html body.cdy .pr b small,html body.cdy .ptn,html body.cdy .ptl span,html body.cdy .pl small,html body.cdy .pr.hd b,html body.cdy .pr.hd span{font-family:var(--sans)!important}

/* sheets (Features, Autoplay, Paytable): clear of the top bar, the title and its close button stay put while the cards scroll */
.scrim{z-index:495;padding-top:var(--av-nav,52px);align-items:flex-end}
.sheet{max-height:calc(100dvh - var(--av-nav,52px) - 8px);max-height:calc(100vh - var(--av-nav,52px) - 8px);overscroll-behavior:contain}
@supports(height:100dvh){.sheet{max-height:calc(100dvh - var(--av-nav,52px) - 8px)}}
.sheet h3{position:sticky;top:-20px;z-index:3;margin:-20px -14px 0;padding:20px 56px 10px;background:inherit;border-radius:24px 24px 0 0}
.sheet h3 button{top:50%;right:8px;width:40px;height:40px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:var(--spec,#fff)}
@media(min-width:760px){.scrim{align-items:center}}
.betpop{z-index:496}
.betbox p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.betbox p b{color:#fff}
.betbox .cfb{display:flex;gap:8px}.betbox .cfb button{flex:1;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font:700 14px var(--serif);letter-spacing:.12em;cursor:pointer}
.betbox .cfb .go{border-color:rgba(232,185,74,.7);background:linear-gradient(180deg,#C2307F,#7A1F58)}

/* ── Pharaoh's Tomb only ── */
/* the chosen symbols on the free-spins start screen */
/* the free-spins room: a darker, warmer tomb */
.wisp{position:absolute;bottom:-40px;width:var(--w,10px);height:var(--w,10px);border-radius:50%;background:radial-gradient(circle,rgba(255,226,150,.9),rgba(255,200,87,0) 70%);animation:rise var(--d,5s) ease-in var(--dl,0s) infinite}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-110vh) translateX(var(--dx,20px));opacity:0}}
/* the paytable: ten lines, and the expanding table with four columns */
.pr.x4{grid-template-columns:40px 1fr 50px 50px 50px 56px}
.pr.hd.x4{grid-template-columns:40px 1fr 50px 50px 50px 56px}
.pr.x4 span{font-size:12.5px}
.pls.l10{grid-template-columns:repeat(5,1fr)}
@media(max-width:560px){.pr{grid-template-columns:34px 1fr 44px 44px 48px}.pr.x4,.pr.hd.x4{grid-template-columns:34px 1fr 40px 40px 42px 50px}.pr span{font-size:12px}.xs{width:92px;height:92px}.xsel{gap:12px}}

html body.cdy .betbox .cfb button,html body.cdy .betbox .go{font-family:var(--serif)!important}

/* ── Candy Cascade only ── */
/* the world: a sugary sky, no picture needed (a background picture can replace it: put one at assets/cd/cd-bg.webp and set --vfbg) */
#cdscene::before{filter:saturate(1.05)}   /* the background picture is assets/cd/cd-bg-m.webp (portrait: the game panel is always taller than wide) */
#cdscene::after{background:radial-gradient(115% 90% at 50% 48%,rgba(40,10,50,0) 0%,rgba(40,10,50,.18) 62%,rgba(30,6,40,.6) 100%)}
#cdscene.fs::before{filter:saturate(1.25) hue-rotate(-18deg) brightness(.85)}
.reels{grid-template-columns:repeat(6,1fr);background:rgba(36,10,48,.78)}
.col{display:flex;flex-direction:column;aspect-ratio:auto;overflow:visible;background:none;border-right:0}
.cell{aspect-ratio:1/1;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative}
.cell img{width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(60,10,70,.55))}
.reels.dim .cell:not(.on){opacity:.45}
.reels.dim .cell.on img{transform:scale(1.1);filter:drop-shadow(0 0 10px rgba(255,255,255,.95)) drop-shadow(0 3px 5px rgba(60,10,70,.55))}
.cell.on{animation:wob .45s ease-in-out infinite alternate}
@keyframes wob{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
.cell img.wild{width:100%;height:auto;filter:drop-shadow(0 0 10px rgba(255,235,120,.9)) drop-shadow(0 3px 5px rgba(60,10,70,.55))}
.cell img.scatter{filter:drop-shadow(0 0 12px rgba(255,214,64,.95)) drop-shadow(0 3px 5px rgba(60,10,70,.55))}
.reels:not(.busy) .cell img.scatter{animation:glow 2.2s ease-in-out infinite}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 8px rgba(255,214,64,.6))}50%{filter:drop-shadow(0 0 20px rgba(255,236,140,1))}}
.mbadge{align-self:center;display:flex;align-items:baseline;gap:10px;padding:4px 18px 5px;border-radius:999px;border:1px solid rgba(255,170,214,.55);background:linear-gradient(180deg,#552063,#33123E);box-shadow:inset 0 0 12px rgba(255,79,163,.25)}
.mbadge small{font:700 10.5px var(--serif);letter-spacing:.22em;color:var(--muted)}
.mbadge b{font:400 24px var(--serif);color:#fff;letter-spacing:.04em;text-shadow:0 0 12px rgba(255,140,200,.9);min-width:2.2ch;text-align:center}
.mbadge.hot{border-color:#FFD640;box-shadow:0 0 18px rgba(255,214,64,.5),inset 0 0 12px rgba(255,214,64,.25)}.mbadge.hot b{color:#FFE680}
.mbadge.run{border-color:#FFD640}
.mbadge.bump{animation:mb .55s cubic-bezier(.2,1.6,.4,1)}
@keyframes mb{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1)}}
html body.cdy .mbadge small,html body.cdy .mbadge b{font-family:var(--serif)!important}
.fsover .mstart{font:400 64px var(--serif);color:#FFE680;text-shadow:0 0 28px rgba(255,214,64,.9);line-height:1}
html body.cdy .fsover .mstart{font-family:var(--serif)!important}
.spk{position:fixed;z-index:70;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;pointer-events:none;background:hsl(var(--hue),95%,70%);animation:spk .6s ease-out forwards}
@keyframes spk{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.wisp{position:absolute;bottom:-30px;width:var(--w,12px);height:var(--w,12px);border-radius:50%;background:radial-gradient(circle,#fff,rgba(255,150,210,.9) 60%,rgba(255,150,210,0) 72%);animation:rise var(--d,5s) ease-in var(--dl,0s) infinite}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:.95}100%{transform:translateY(-110vh) translateX(var(--dx,20px));opacity:0}}
.pr.x4,.pr.hd.x4{grid-template-columns:40px 1fr 56px 56px 56px 56px}
@media(max-width:560px){.pr.x4,.pr.hd.x4{grid-template-columns:34px 1fr 42px 46px 46px 46px}.pr span{font-size:11.5px}}

/* the win screens, the free-spins start / end screens cover the game panel only (not the side bar or the page shell) */
#cdscene .fsover,#cdscene .cele{position:absolute;border-radius:inherit}

/* the bet-amount and buy-confirm boxes are centred on the game panel (not the whole window, which has the side bar on one side) */
#cdscene .betpop{position:absolute;border-radius:inherit}

/* the Features / Autoplay / Paytable sheets stay inside the game panel too (nothing is laid over the side bar or the page shell) */
#cdscene .scrim{position:absolute;padding-top:0;border-radius:inherit}
#cdscene .sheet{max-height:100%}
