/* Every symbol shares a transparent, padded art window in reels and features. */
body .clean-symbol{background:none!important;border:0!important;border-radius:0!important;clip-path:none!important;display:block!important;position:relative;aspect-ratio:1;width:90%!important;height:auto!important;max-height:100%;flex:none;overflow:visible;transform:none;filter:none!important}
body .clean-symbol>svg{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}
body .cell>.clean-symbol,body .reel-tile>.clean-symbol{width:min(90%,calc(var(--cell-h)*.90))!important;max-height:none}
body .hole-symbol>.clean-symbol,body .ghost>.clean-symbol{width:86%!important;max-height:90%}
body .modern-wild-icon{background:none;box-shadow:none;border-radius:0;width:94%;height:94%;overflow:visible}
body .modern-wild-icon>.clean-symbol{width:92%!important;filter:drop-shadow(0 0 3px #ffcd57a0)!important}
body .modern-wild-icon>b{left:18%;right:18%;bottom:3%;font-size:clamp(10px,2.4vw,17px);box-shadow:0 2px 4px #0008}
body .cell>.reel-art,body .reel-tile>.reel-art{width:89%;height:89%;object-fit:contain}
body .scatter-cell:before{display:none}
body .scatter-cell>.clean-symbol,body .scatter-cell>.reel-art{filter:drop-shadow(0 0 4px #ffd96a88)!important}
body.game-tits .cell.tits-found-wild{background:transparent!important;box-shadow:none!important;border:0!important;isolation:isolate}
body.game-tits .cell.tits-found-wild:before,body.game-tits .cell.tits-found-wild:after{display:none!important}
body.game-tits .tits-found-wild>.clean-symbol{filter:drop-shadow(0 0 3px #fff0a0) drop-shadow(0 0 7px #ffc028)!important;animation:gold-symbol-breathe 1.8s ease-in-out infinite!important}
@keyframes gold-symbol-breathe{0%,100%{filter:drop-shadow(0 0 2px #fff0a0) drop-shadow(0 0 5px #ffc028)}50%{filter:drop-shadow(0 0 4px #fff4bb) drop-shadow(0 0 10px #ffc028)}}
/* One bounded reel stage, different materials and movement for every game. */
.game-tits{--performance-colour:#ffcb52;--performance-dark:#401334;--hero-dance:disco-groove}
.game-morsels{--performance-colour:#5beada;--performance-dark:#06343e;--hero-dance:tide-float}
.game-zarn{--performance-colour:#ffb33f;--performance-dark:#4a180a;--hero-dance:chef-stomp}
.game-trots{--performance-colour:#d68aff;--performance-dark:#2d104a;--hero-dance:cowboy-strut}
.game-bunyuns{--performance-colour:#ffcf65;--performance-dark:#4c200c}
body .wild-figure.wild-transformation{isolation:isolate;overflow:hidden;border:0;border-radius:3px;background:radial-gradient(ellipse at 50% 70%,var(--performance-dark),#100b1be8)!important;box-shadow:inset 0 0 18px #0009;animation:reel-transformation 850ms cubic-bezier(.18,.8,.25,1) both!important;transform-origin:center;pointer-events:none}
body .wild-transformation:before,body .wild-transformation:after{display:none}
.wild-charge{position:absolute;inset:0;display:grid;place-items:center;z-index:6;animation:charge-to-hero 950ms both}
.wild-charge>.clean-symbol{width:86%!important;filter:drop-shadow(0 0 12px var(--performance-colour))!important}
.wild-energy{position:absolute;inset:-25% -100%;opacity:.22;background:repeating-conic-gradient(from 10deg,transparent 0 28deg,var(--performance-colour) 29deg 34deg,transparent 35deg 60deg);animation:energy-turn 9s linear infinite;z-index:0}
.wild-impact{position:absolute;inset:0;background:radial-gradient(ellipse,#fff8c9,transparent 68%);opacity:0;animation:hero-impact 1200ms both;z-index:7}
.wild-hero-arrival{position:absolute;inset:5% 2% 12%;z-index:3;animation:hero-materialise 1600ms cubic-bezier(.2,.8,.2,1) both}
.wild-hero-motion{width:100%;height:100%;transform-origin:50% 85%;animation:var(--hero-dance) 1800ms 1600ms ease-in-out infinite}
.wild-hero-rig{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 3px #0009) drop-shadow(0 0 3px var(--performance-colour))}
.hero-torso{transform-origin:230px 368px;animation:hero-upper-body 1800ms 1600ms ease-in-out infinite}
.hero-legs{transform-origin:230px 368px;animation:hero-lower-body 1800ms 1600ms ease-in-out infinite}
.game-morsels .hero-torso{animation-duration:2800ms}.game-morsels .hero-legs{animation-duration:2800ms}
.game-zarn .hero-torso,.game-zarn .hero-legs{animation-duration:1400ms}
.wild-floor{position:absolute;bottom:10%;left:8%;right:8%;height:8%;border-radius:50%;background:radial-gradient(ellipse,var(--performance-colour),transparent 70%);opacity:.5;filter:blur(3px);animation:floor-arrive 1600ms both;z-index:1}
.performance-title{position:absolute;z-index:5;bottom:2%;left:2%;right:2%;text-align:center;color:#fff3b7;font:1000 clamp(14px,4vw,30px)/1 Arial Black,Arial,sans-serif;letter-spacing:.08em;text-shadow:0 2px #773909,0 0 8px var(--performance-colour);animation:title-land 1400ms both}
.performance-spark{position:absolute;z-index:4;left:var(--x);bottom:8%;width:3px;height:6px;border-radius:50%;background:#fff5be;box-shadow:0 0 5px var(--performance-colour);opacity:0;animation:performance-spark-rise 2400ms calc(var(--i)*130ms + 600ms) infinite}
.wild-settled .performance-spark:nth-of-type(n+7){display:none}
.game-tits .wild-energy{background:repeating-conic-gradient(from 10deg,transparent 0 35deg,#ffc85b 36deg 38deg,transparent 39deg 60deg)}
.game-zarn .wild-energy{background:repeating-linear-gradient(100deg,transparent 0 16%,#ffc75a 17% 18%,transparent 19% 26%);animation:cheese-flow 5s ease-in-out infinite}
.game-morsels .wild-energy{background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 6%,#65e9ec 7% 8%,transparent 9% 15%);animation:tide-flow 5s ease-in-out infinite}
.game-trots .wild-energy{background:repeating-conic-gradient(from 40deg,transparent 0 42deg,#da9eff 43deg 45deg,transparent 46deg 60deg)}
@keyframes reel-transformation{0%{clip-path:inset(45% 0);opacity:.3}60%{clip-path:inset(0);opacity:1}100%{clip-path:inset(0)}}
@keyframes charge-to-hero{0%{opacity:1;transform:scale(.72)}45%{opacity:1;transform:scale(1.08);filter:brightness(1.4)}75%,100%{opacity:0;transform:scale(1.55);filter:brightness(2)}}
@keyframes hero-materialise{0%,32%{opacity:0;transform:translateY(15%) scale(.38)}56%{opacity:1;transform:translateY(-3%) scale(1.05)}72%{transform:translateY(2%) scale(.97)}100%{opacity:1;transform:none}}
@keyframes hero-impact{0%,35%{opacity:0}48%{opacity:.72}74%,100%{opacity:0}}
@keyframes title-land{0%,58%{opacity:0;transform:translateY(70%) scale(.6)}78%{opacity:1;transform:translateY(-8%) scale(1.08)}100%{opacity:1;transform:none}}
@keyframes floor-arrive{0%,38%{opacity:0;transform:scaleX(.2)}100%{opacity:.5;transform:scaleX(1)}}
@keyframes energy-turn{to{transform:rotate(360deg)}}
@keyframes cheese-flow{50%{transform:translateY(12%) skewX(6deg)}}
@keyframes tide-flow{50%{transform:translateY(-8%) scaleX(1.15)}}
@keyframes disco-groove{0%,100%{transform:translateX(-1%) rotate(-2deg)}25%{transform:translateY(-1.5%) rotate(1deg)}50%{transform:translateX(1.5%) rotate(2deg)}75%{transform:translateY(1%) rotate(-1deg)}}
@keyframes tide-float{0%,100%{transform:translateY(1%)}50%{transform:translateY(-2%) rotate(1deg)}}
@keyframes chef-stomp{0%,100%{transform:rotate(-1.5deg)}35%{transform:translateY(-2%) rotate(1.5deg)}50%{transform:translateY(1%) scaleY(.985)}80%{transform:translateY(-1%)}}
@keyframes cowboy-strut{0%,100%{transform:translateX(-1%) rotate(-2deg)}50%{transform:translateX(1%) rotate(2deg) translateY(-1%)}}
@keyframes hero-upper-body{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}
@keyframes hero-lower-body{0%,100%{transform:skewX(1deg)}50%{transform:skewX(-1deg)}}
@keyframes performance-spark-rise{0%{opacity:0;transform:translateY(0) scale(.4)}15%{opacity:.8}85%,100%{opacity:0;transform:translate(calc(var(--drift)*12px),-180px) scale(.1)}}
/* Bunyuns keeps its emperor performance, with an unstretched silhouette and a living settle. */
body .wild-performance{--performance-colour:#ffd272;background:radial-gradient(ellipse at 50% 70%,#6e3815,#211023)!important;animation:reel-transformation 850ms both!important;border:0!important;box-shadow:inset 0 0 18px #ffcf5933}
body .wild-expanded .wild-actor{width:180%;left:-40%;height:auto;aspect-ratio:1;top:50%;transform:translateY(-50%);animation:emperor-poses 2400ms step-end both;filter:drop-shadow(0 0 4px #ffce6b88)}
body .wild-expanded.wild-settled .wild-actor{animation:emperor-breathe 2400ms ease-in-out infinite;background-position:100% 100%}
body .wild-performance .wild-seal{z-index:5;background:none;box-shadow:none;text-shadow:0 2px #713608,0 0 8px #f5be58}
@keyframes emperor-breathe{0%,100%{transform:translateY(-50%) rotate(-.7deg) scale(.99)}50%{transform:translateY(-51%) rotate(.7deg) scale(1)}}
/* Landing has a short weighted settle; no indefinite jitter on ordinary symbols. */
body .reel:not(.spinning) .cell.win>.clean-symbol,body .reel:not(.spinning) .cell.win>.reel-art{animation:icon-win-settle 650ms cubic-bezier(.2,.8,.25,1)}
@keyframes icon-win-settle{0%{transform:scale(.92)}40%{transform:translateY(-3%) scale(1.045)}68%{transform:translateY(1%) scale(.99)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){body .wild-transformation,body .wild-performance,body .wild-expanded .wild-actor,.wild-hero-arrival,.wild-hero-motion,.hero-torso,.hero-legs,.performance-title,.wild-floor,body.game-tits .tits-found-wild>.clean-symbol,body .cell.win>.clean-symbol,body .cell.win>.reel-art{animation:none!important}.wild-charge,.wild-impact,.wild-energy,.performance-spark{display:none!important}.wild-actor{background-position:100% 100%!important}}

/* Remove legacy cell-shaped scatter/wild plates after all game theme rules. */
body .reels .cell.scatter-cell{background:transparent!important;box-shadow:none!important;border:0!important}
body .reels .modern-wild-icon{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important}
body .reels .cell.wild-covered{opacity:0!important;visibility:hidden!important}
body .wild-hero-rig{filter:drop-shadow(0 2px 1px #0009)}
body .wild-hero-arrival{inset:3% 0 10%}
body .wild-hero-motion{transform-origin:50% 70%}
#previewAllSymbols,#previewTitsCharacters{padding:10px 14px;background:#392647;color:#fff;border:1px solid #b99870;border-radius:8px}
#featureAppearancePreview select{background:#20182b;color:#fff;padding:6px;border:1px solid #937dab;border-radius:5px}
/* Gold traces the alpha silhouette on every scatter stop, including a near miss. */
body .reels .cell.scatter-landed{animation:none!important}
body .reel:not(.spinning) .cell.scatter-landed>.clean-symbol>svg,body .reel:not(.spinning) .cell.scatter-landed>.reel-art{animation:scatter-gold-landing 1100ms ease-out both!important}
@keyframes scatter-gold-landing{0%{filter:brightness(1);transform:scale(.96)}24%{filter:brightness(1.65) drop-shadow(0 0 3px #fff4ba) drop-shadow(0 0 10px #ffc72c);transform:scale(1.04)}55%{filter:brightness(1.15) drop-shadow(0 0 7px #ffbf22);transform:scale(1)}76%{filter:brightness(1.35) drop-shadow(0 0 5px #ffdf75);transform:scale(1.015)}100%{filter:brightness(1) drop-shadow(0 0 3px #ffd35e);transform:scale(1)}}
/* Lettering sits behind the art. No badge, plaque, border or opaque rectangle. */
body .modern-wild-icon{isolation:isolate;position:relative}
body .modern-wild-icon>.clean-symbol{z-index:2;width:85%!important}
body[class*="game-"] .modern-wild-icon>b,body.game-tits .tits-wild-badge{position:absolute;z-index:1;left:0;right:0;top:0;bottom:auto;height:auto;transform:rotate(-9deg);padding:0;border:0;border-radius:0;background:none!important;box-shadow:none!important;color:#ffe391;font:1000 italic clamp(14px,4.2vw,32px)/1 Arial Black,Arial,sans-serif;letter-spacing:-.06em;text-align:center;-webkit-text-stroke:1px #91551d;text-shadow:0 2px 0 #39192a,0 0 8px #ffbf5970;pointer-events:none}
body.game-tits .tits-found-wild>.clean-symbol{z-index:2}
body.game-bunyuns .wild-cell:after{z-index:0;top:6%;bottom:auto;transform:rotate(-9deg);font:1000 italic clamp(14px,4.2vw,32px)/1 Arial Black,Arial,sans-serif;letter-spacing:-.06em;color:#ffe391;text-shadow:0 2px #64311a,0 0 6px #efb622}
body.game-bunyuns .wild-portrait{z-index:1;inset:9% 2% 0}
/* Continuous art avoids the waist seam of the previous split-image rig. */
body .wild-hero-rig,body .wild-hero-rig>svg{width:100%;height:100%;display:block;overflow:hidden}
body .wild-hero-arrival{inset:5% 5% 12%;animation:hero-stage-entry 1250ms cubic-bezier(.16,.8,.22,1) both}
body .wild-hero-motion{animation-duration:2400ms;animation-delay:1250ms}
body .wild-energy{opacity:.1}
.wild-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.stage-beam{position:absolute;top:-15%;width:120%;height:130%;background:linear-gradient(90deg,transparent,#fff5c62b,transparent);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:50% 0;mix-blend-mode:screen;opacity:0;animation:stage-light-sweep 3600ms 400ms ease-in-out infinite}
.beam-left{left:-50%;--angle:22deg}.beam-right{right:-50%;--angle:-22deg;animation-delay:1000ms}
.stage-shockwave{position:absolute;inset:25% 8%;border:2px solid var(--performance-colour);border-radius:50%;opacity:0;animation:stage-impact-ring 1100ms 250ms ease-out both;box-shadow:0 0 12px var(--performance-colour),inset 0 0 8px var(--performance-colour)}
.stage-mote{position:absolute;left:var(--x);bottom:-8%;width:clamp(7px,1.8vw,15px);height:auto;color:var(--performance-colour);fill:currentColor;opacity:0;animation:stage-mote-flight 3000ms calc(500ms + var(--i)*230ms) infinite ease-out}
.game-tits .stage-mote{color:#fff4b6;animation-name:disco-reflection}
.game-morsels .stage-beam{background:linear-gradient(90deg,transparent,#59ffe34d,transparent)}
.game-zarn .stage-mote{color:#ffbc3f;animation-direction:reverse}
.game-trots .stage-mote{color:#ead4ff}
body .wild-settled .stage-shockwave{display:none}
body .wild-settled .stage-beam{opacity:.25}
body .wild-settled .stage-mote{animation-duration:4200ms}
@keyframes hero-stage-entry{0%,18%{opacity:0;transform:translateY(18%) scale(.65);filter:brightness(1.9)}48%{opacity:1;transform:translateY(-2%) scale(1.04);filter:brightness(1.2)}70%{transform:translateY(1%) scale(.99)}100%{opacity:1;transform:none;filter:brightness(1)}}
@keyframes stage-light-sweep{0%,100%{opacity:.12;transform:rotate(calc(var(--angle)*-1))}50%{opacity:.5;transform:rotate(var(--angle))}}
@keyframes stage-impact-ring{0%{opacity:0;transform:scale(.2)}18%{opacity:.8}100%{opacity:0;transform:scale(2.2)}}
@keyframes stage-mote-flight{0%{opacity:0;transform:translateY(0) rotate(-20deg)}18%{opacity:.8}100%{opacity:0;transform:translate(calc(var(--drift)*16px),-280px) rotate(110deg)}}
@keyframes disco-reflection{0%,100%{opacity:0;transform:translateY(-35px) scale(.3) rotate(0)}40%{opacity:.9;transform:translateY(-120px) scale(1.2) rotate(90deg)}80%{opacity:.3;transform:translateY(-220px) scale(.5) rotate(150deg)}}
@keyframes disco-groove{0%,100%{transform:translate(-2%,0) rotate(-3deg)}20%{transform:translate(1%,-2%) rotate(1deg)}40%{transform:translate(2%,0) rotate(3deg)}60%{transform:translate(0,1%) rotate(0)}80%{transform:translate(-1%,-1%) rotate(-2deg)}}
@keyframes cowboy-strut{0%,100%{transform:translate(-1%,0) rotate(-2deg)}25%{transform:translate(1%,-2%) rotate(1deg)}45%{transform:translate(2%,1%) rotate(2deg)}70%{transform:translate(0,-1%) rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){body .reel:not(.spinning) .cell.scatter-landed>.clean-symbol>svg,body .reel:not(.spinning) .cell.scatter-landed>.reel-art{animation:none!important;filter:drop-shadow(0 0 5px #ffcf55)}.wild-stage{display:none}body .wild-hero-arrival{animation:none!important}}

body .reels .modern-wild-icon>.clean-symbol{transform:translateY(8%);width:82%!important}

/* Neighbouring reel symbols stay visible both during travel and at rest. */
#previewBaseMusic{padding:10px 14px;background:#244b51;color:#fff;border:1px solid #8ac7c9;border-radius:8px}


/* Soften only the outer reel-window edges; keep the three paying rows crisp. */
body .reels .reel:not(.hold-reel){-webkit-mask-image:linear-gradient(to bottom,transparent,#000 6px,#000 calc(100% - 6px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 6px,#000 calc(100% - 6px),transparent)}

/* Reserve the full effect envelope, not just the solid centre of the icon. */
body #reels :is(.cell,.reel-tile,.hole-symbol)>.cash-ball{
 width:min(64%,calc(var(--cell-h)*.64));height:auto;max-width:none;max-height:none;aspect-ratio:1;flex:none
}
body:is(.game-og,.game-tits) #reels :is(.cell,.reel-tile,.hole-symbol)>.cash-ball{
 width:min(82%,calc(var(--cell-h)*.82))
}
body #reels :is(.cell,.reel-tile)>.clean-symbol{
 width:min(86%,calc(var(--cell-h)*.86))!important;flex:none
}
body #reels :is(.cell,.reel-tile)>.reel-art{
 width:86%;height:86%;object-fit:contain;flex:none
}
body:not(.game-og):not(.game-tits) #reels .reel-tile .orb-flames{display:block}

/* One uninterrupted background per reel: rows must not paint over the next icon. */
body #reels .reel:not(.hold-reel){
 background:linear-gradient(90deg,var(--reel-edge,#100b17),var(--reel-centre,#30213d) 50%,var(--reel-edge,#100b17))
}
body #reels .reel:not(.hold-reel) :is(.cell,.reel-tile){
 border:0!important;background:transparent!important;box-shadow:none!important
}
body #reels .reel:not(.hold-reel) .cell:is(.win,.line-active){
 background:radial-gradient(ellipse at center,#ffc95b50,transparent 72%)!important
}

/* Bound every free-game transition to the reel window, including the shared alpha art. */
body #reels :is(.free-games-splash,.tits-encore-intro){overflow:hidden;box-sizing:border-box}
body #reels :is(.free-games-splash>div,.tits-intro-sign){
 width:100%;max-width:100%;height:100%;max-height:100%;min-width:0;min-height:0;
 padding:12px;box-sizing:border-box;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:8px
}
body #reels :is(.free-games-splash>div,.tits-intro-sign)>.clean-symbol{
 width:min(40%,calc(var(--cell-h)*.95))!important;height:auto!important;
 max-width:100%;max-height:none;margin:0 auto!important;flex:none
}
body #reels :is(.free-games-splash,.tits-intro-sign) strong{
 max-width:100%;margin:0;font-size:clamp(18px,min(6vw,calc(var(--cell-h)*.34)),40px);
 line-height:1.15;white-space:normal;overflow-wrap:anywhere
}
body #reels :is(.free-games-splash,.tits-intro-sign) :is(small,span:not(.clean-symbol)){
 max-width:100%;margin:0;line-height:1.2;white-space:normal;overflow-wrap:anywhere
}

body[data-feature-mode] #reels .reel:not(.hold-reel) .cell:not(.win):not(.line-active):not(.wild-cell){box-shadow:none!important}

/* The final reveal distinguishes collected lockers from missed prizes without dimming either. */
body #banditDialog .tits-locker.picked{
 background:linear-gradient(145deg,#ffe28a,#c28a23);border-color:#fff0af;
 color:#301c07;opacity:1;box-shadow:inset 0 0 0 3px #6a430833,0 0 12px #f6be3544
}
body #banditDialog .tits-locker.picked :is(span,b,small){color:#301c07;text-shadow:none}
body #banditDialog .tits-locker.missed{
 background:linear-gradient(145deg,#771e2a,#350e18);border-color:#ec6673;
 color:#ffd9dc;opacity:1;box-shadow:inset 0 0 0 3px #18030755
}
body #banditDialog .tits-locker.missed :is(span,b,small){color:#ffd9dc;text-shadow:none}

/* TITS cash balls: transparent peach artwork over a flowing molten pink halo. */
body.game-tits .cash-ball{background:none!important;border:0!important;box-shadow:none!important;overflow:visible;isolation:isolate}
body.game-tits .cash-ball>.orb-flames{display:none!important}
body.game-tits .cash-ball>.tits-cash-face{position:absolute;inset:0;z-index:1;pointer-events:none}
body.game-tits .tits-cash-face>.clean-symbol{width:100%!important;height:100%!important;max-height:none;position:absolute;inset:0}
body.game-tits .tits-lava{position:absolute;inset:-9%;z-index:0;pointer-events:none;overflow:visible;animation:tits-lava-breathe 3.8s ease-in-out infinite}
body.game-tits .tits-lava::before,body.game-tits .tits-lava::after{content:"";position:absolute;inset:2%;border-radius:44% 56% 52% 48% / 55% 43% 57% 45%;background:conic-gradient(from 35deg,#ff1b59,#ff91bd 15%,#b70b3b 30%,#ff347a 45%,#ffd0dd 58%,#ff2864 72%,#be1343 88%,#ff1b59);box-shadow:0 0 3px #ff418d,inset 0 0 4px #ffb1cf;animation:tits-lava-flow 6s ease-in-out infinite}
body.game-tits .tits-lava::after{inset:5%;opacity:.75;background:conic-gradient(from 170deg,#ffbbd2,#f22a68 20%,#a9073c 36%,#ff7daa 55%,#ff2d6b 75%,#ffbbd2);animation:tits-lava-flow 7.3s ease-in-out -3s infinite reverse}
body.game-tits .tits-lava>i{position:absolute;left:var(--bubble-x);top:var(--bubble-y);width:12%;height:12%;border-radius:50%;background:radial-gradient(circle at 32% 27%,#ffe5ef 0%,#ff8eb8 20%,#f72569 52%,#ac103b 85%);box-shadow:0 0 2px #ff478a;animation:tits-lava-bubble 3.4s ease-in-out var(--bubble-delay) infinite;z-index:1}
body.game-tits .tits-lava>i:nth-child(1){--bubble-x:18%;--bubble-y:2%;--bubble-delay:-.4s}
body.game-tits .tits-lava>i:nth-child(2){--bubble-x:81%;--bubble-y:22%;--bubble-delay:-1.8s}
body.game-tits .tits-lava>i:nth-child(3){--bubble-x:70%;--bubble-y:81%;--bubble-delay:-2.7s}
body.game-tits .tits-lava>i:nth-child(4){--bubble-x:13%;--bubble-y:77%;--bubble-delay:-1.2s}
body.game-tits .tits-lava>i:nth-child(5){--bubble-x:1%;--bubble-y:39%;--bubble-delay:-3s}
body.game-tits #reels :is(.cell,.reel-tile,.hole-symbol)>.cash-ball{width:min(64%,calc(var(--cell-h)*.64))}
body.game-tits .rush-slot .cash-ball{height:64%!important;max-width:64%!important;width:auto!important}
body.game-tits .cash-ball b{z-index:3}
@keyframes tits-lava-flow{0%,100%{border-radius:44% 56% 52% 48% / 55% 43% 57% 45%;transform:rotate(0deg)}33%{border-radius:57% 43% 42% 58% / 46% 57% 43% 54%;transform:rotate(120deg)}66%{border-radius:47% 53% 59% 41% / 59% 45% 55% 41%;transform:rotate(240deg)}100%{transform:rotate(360deg)}}
@keyframes tits-lava-breathe{0%,100%{opacity:.88;filter:drop-shadow(0 0 1px #ff2b74)}50%{opacity:1;filter:drop-shadow(0 0 2px #ff498b)}}
@keyframes tits-lava-bubble{0%,100%{transform:scale(.45);opacity:.25}45%{transform:scale(1);opacity:1}68%{transform:scale(.8);opacity:.8}82%{transform:scale(1.1);opacity:0}}
@media(prefers-reduced-motion:reduce){body.game-tits .tits-lava,body.game-tits .tits-lava::before,body.game-tits .tits-lava::after,body.game-tits .tits-lava>i{animation:none!important}}
body.game-tits.reduced-motion .tits-lava,body.game-tits.reduced-motion .tits-lava::before,body.game-tits.reduced-motion .tits-lava::after,body.game-tits.reduced-motion .tits-lava>i{animation:none!important}

/* Size the label against its own ball, with an opaque pink fill and contrasting edge. */
body.game-tits .cash-ball.cash-ball b{
 container-type:inline-size;
 color:#ffb5d7!important;
 -webkit-text-stroke:1.6px #49102d!important;
 paint-order:stroke fill;
 text-shadow:0 0 1px #fff,0 1px 1px #fff8!important;
 font-size:20px!important;font-weight:900!important;letter-spacing:0!important;
 background:none!important;box-shadow:none!important;white-space:nowrap
}
body.game-tits .cash-ball b>.tits-cash-value{
 display:block;line-height:1;
 font-size:min(38cqw,calc(150cqw / max(var(--raid-digits,3),3)));
 -webkit-text-stroke:1.6px #49102d;
 paint-order:stroke fill
}

body.game-tits .cash-ball.jackpot-ball b>.tits-cash-value{
 font-size:min(30cqw,calc(118cqw / max(var(--raid-digits,3),3)))
}
