.tits-rush{position:absolute;inset:0;z-index:25;display:flex;flex-direction:column;gap:4px;padding:8px;box-sizing:border-box;overflow:hidden;border:2px solid #e1b85e;border-radius:10px;color:#fff;background:radial-gradient(ellipse at 50% 0,#89344d 0,#2b122b 48%,#100d1c 100%);font-family:inherit;text-align:center;isolation:isolate}
.tits-rush:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.16;background:repeating-conic-gradient(from 10deg at 50% 130%,#ffc456 0deg 4deg,transparent 4deg 16deg)}
.tits-rush header{margin:0;padding:0;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900}.tits-rush header strong{font-size:clamp(13px,2.8vw,25px);letter-spacing:.07em;color:#ffe1a1;text-shadow:0 2px #46122f,0 0 12px #ff922677}.rush-spins{font-size:clamp(10px,2vw,17px);padding:4px 8px;border-radius:20px;border:1px solid #e2ae67;background:#1b0c21;white-space:nowrap}
.rush-meter{display:flex;justify-content:center;align-items:center;gap:7px;min-height:25px;border-block:1px solid #ffc77755;background:#160a2388}.rush-meter small{font-size:8px;letter-spacing:.06em;color:#ebc3cf}.rush-meter output{font-size:clamp(17px,3vw,28px);font-weight:950;color:#fff1b8;text-shadow:0 2px #000}.rush-diamonds{margin-left:auto;color:#abfaff;font-size:clamp(7px,1.3vw,11px);font-weight:800;max-width:90px}
.rush-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));flex:1;min-height:0;gap:4px}.rush-slot{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #b8758266;border-radius:8px;background:#160d21;min-height:0;min-width:0;overflow:hidden;box-shadow:inset 0 0 14px #0008}.rush-slot .cash-ball{position:relative!important;width:auto!important;height:90%!important;max-width:90%!important;inset:auto!important;transform:none!important;aspect-ratio:1!important}.rush-slot .cash-ball b{font-size:clamp(11px,2.5vw,24px)!important;white-space:nowrap}.rush-slot.was-collected{border-color:#fbc459;box-shadow:inset 0 0 12px #e7a33b55}.rush-slot.is-held{border-color:#ebc16a}.rush-ghost{font-size:clamp(16px,3vw,30px);color:#984c7055;font-weight:900}.rush-slot.is-closed{opacity:.14;border-style:dashed;background:transparent}.rush-slot.is-closed .rush-ghost{visibility:hidden}
.rush-crystal{font-size:clamp(28px,7vw,60px);line-height:1;color:#b8ffff;text-shadow:0 0 4px #fff,0 0 12px #2eefff,0 0 24px #8544ff;filter:drop-shadow(0 3px 2px #10172c);animation:rush-crystal-breathe 2s ease-in-out infinite}.rush-collector{width:90%;height:95%;display:block;filter:drop-shadow(0 0 9px #ffd066)}.rush-collector>img{display:block;width:100%;height:100%;object-fit:contain}.rush-status small{display:block;font-size:.85em;font-weight:650;letter-spacing:0;color:#ead1b2}.is-collecting .rush-collector{animation:rush-magnet-pulse .65s ease-in-out infinite}@keyframes rush-magnet-pulse{50%{filter:brightness(1.35) drop-shadow(0 0 12px #ffd066);transform:scale(1.05)}}
.rush-status{font-size:clamp(8px,1.45vw,12px);font-weight:850;color:#ffdba2;min-height:1.4em;letter-spacing:.035em}.is-diamond{border-color:#9dedff;background:radial-gradient(ellipse at top,#235670,#231546 50%,#0b1027)}.is-diamond header strong{color:#cdfaff;text-shadow:0 0 15px #17cbfa}.is-diamond .rush-slot:not(.is-closed){border-color:#69c0e9;box-shadow:inset 0 0 9px #449dbe55,0 0 4px #7bf6ff55}
.is-rolling{animation:rush-roll .12s linear infinite;background:linear-gradient(#421b4388,#c7518044,#421b4388)}.is-rolling .rush-ghost{color:#edacdb99;filter:blur(2px)}.is-landed{animation:rush-land .3s ease-out}.is-paying{animation:rush-pay .55s ease-out;z-index:3}.rush-slot.is-revealing{animation:rush-reveal .65s ease-out}.is-reset{animation:rush-reset .5s ease-out}.rush-award{position:absolute;left:12%;right:12%;top:43%;padding:8px;z-index:9;background:#2b123ce8;border:2px solid #ffe3a2;border-radius:14px;color:#fff7c4;font-size:clamp(25px,6vw,50px);text-shadow:0 3px #000;animation:rush-award .7s ease-out forwards;box-shadow:0 0 30px #f8bc4980}.is-transitioning{animation:rush-transition 1.4s ease-in-out}.is-complete .rush-grid{opacity:.55}.is-complete .rush-meter{position:absolute;inset:30% 8% auto;z-index:8;padding:18px 8px;border:2px solid #f9d88a;border-radius:12px;background:#160b25}.is-complete .rush-meter small,.is-complete .rush-diamonds{display:none}.is-complete output{font-size:clamp(27px,6vw,52px)}
@keyframes rush-roll{50%{translate:0 3px}}@keyframes rush-land{0%{scale:.8;filter:brightness(2.5)}65%{scale:1.08}100%{scale:1}}@keyframes rush-pay{40%{scale:1.12;filter:brightness(2.2);box-shadow:0 0 24px #ffd967}}@keyframes rush-hit{40%{rotate:-18deg;scale:1.2}70%{rotate:12deg}}@keyframes rush-reveal{0%{rotate:y 90deg;filter:brightness(4)}60%{rotate:y 0deg;filter:brightness(1.4)}}@keyframes rush-reset{50%{scale:1.25;background:#ffd36a;color:#301329}}@keyframes rush-award{0%{opacity:0;scale:.75}25%{opacity:1;scale:1.1}80%{opacity:1}100%{opacity:0;translate:0 -18px}}@keyframes rush-crystal-breathe{50%{filter:brightness(1.45) drop-shadow(0 0 6px #96fbff)}}@keyframes rush-transition{45%{filter:brightness(3);box-shadow:inset 0 0 100px #77eaff}70%{background:#17485c}}
@media(prefers-reduced-motion:reduce){.tits-rush *,.tits-rush{animation:none!important;transition:none!important}}

.rush-crystal{display:inline-block;position:relative;width:88%;height:90%;font-size:0;background:url('assets/tits/diamond-rooster.webp') center/contain no-repeat;aspect-ratio:1;filter:drop-shadow(0 0 6px #73e9ff)}

.rush-crystal img{display:block;width:100%;height:100%;object-fit:contain}.rush-crystal{background:none}

/* Wet glass finish: independent overlay, so amounts stay still and readable. */
.game-tits .cash-ball{overflow:visible;isolation:isolate}
.game-tits .cash-ball b{font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;line-height:1!important;letter-spacing:0!important;color:#fff!important;-webkit-text-stroke:2.2px #120a10!important;paint-order:stroke fill;text-shadow:none!important;filter:none!important;transform:none!important;position:absolute!important;inset:0!important;display:flex;align-items:center;justify-content:center;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}
.game-tits .tits-wet{position:absolute;inset:7%;border-radius:50%;overflow:hidden;pointer-events:none;z-index:2;box-shadow:inset 2px 3px 3px #ffffffb0,inset -2px -3px 4px #83eaff88,0 0 7px #70dfff66;filter:none!important}
.game-tits .tits-wet:before{content:'';position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 35%,#ffffffaa 42%,#e9fbff44 46%,transparent 52%);animation:tits-wet-sheen 4s ease-in-out infinite}
.game-tits .tits-wet:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 27% 20%,#fff 0 2%,#dcf8ff99 3%,transparent 6%),radial-gradient(ellipse at 76% 72%,#fff 0 1.5%,transparent 4%);border-radius:50%}
.game-tits .tits-wet i{position:absolute;top:12%;left:20%;width:9%;height:13%;border-radius:65% 45% 65% 45%;background:radial-gradient(ellipse at 30% 25%,#fff 0 15%,#baf0ff99 25%,#75cfea44 65%);box-shadow:1px 1px 1px #31142688,inset -1px -1px 1px #d7faff;animation:tits-water-slide 3.6s ease-in infinite}
.game-tits .tits-wet i:nth-child(2){left:73%;top:27%;animation-delay:-1.8s;width:7%;height:10%}.game-tits .tits-wet i:nth-child(3){left:42%;top:7%;animation-delay:-.8s;width:5%;height:8%}.game-tits .tits-wet i:nth-child(4){left:62%;top:18%;animation-delay:-2.6s;width:6%;height:9%}
.game-tits .cash-ball.landed .tits-wet,.game-tits .is-revealing .tits-wet{animation:tits-wet-splash .7s ease-out}
.game-tits .rush-slot .cash-ball b{font-size:clamp(10px,calc(10vw / var(--raid-digits,3)),calc(66px / var(--raid-digits,3)))!important}
@keyframes tits-wet-sheen{0%,15%{translate:-45% 0;opacity:0}30%{opacity:.85}65%,100%{translate:45% 0;opacity:0}}
@keyframes tits-water-slide{0%{translate:0 -4px;opacity:0}20%{opacity:.9}80%{opacity:.8}100%{translate:1px 30px;opacity:0}}
@keyframes tits-wet-splash{0%{box-shadow:0 0 0 0 #cefbff;scale:.8}50%{box-shadow:0 0 0 8px #a4eeff66,0 0 20px #8befff;scale:1.1}100%{box-shadow:0 0 0 15px #a4eeff00;scale:1}}
@media(prefers-reduced-motion:reduce){.game-tits .tits-wet,.game-tits .tits-wet:before,.game-tits .tits-wet i{animation:none!important}}


/* Independent scrolling reels in every unlocked bonus position. */
.rush-slot.is-rolling{animation:none!important;background:#160d21}
.rush-scroll-strip{position:absolute;inset:0 0 auto;height:2400%;display:flex;flex-direction:column;animation:rush-symbol-scroll .72s linear infinite;will-change:transform}
.rush-scroll-tile{height:calc(100% / 24);flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rush-scroll-tile .tits-sprite{display:block;height:85%;width:auto;aspect-ratio:1;filter:blur(.4px)}
@keyframes rush-symbol-scroll{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.rush-scroll-strip{animation:none!important;transform:translateY(-25%)}}

/* Preserve the actual stopped strip underneath an unfilled position. */
.rush-miss-strip{position:absolute;left:0;right:0;top:-70%;height:240%;display:flex;flex-direction:column;opacity:.30;filter:saturate(.65);pointer-events:none}
.rush-miss-tile{height:calc(100% / 3);flex:none;display:flex;align-items:center;justify-content:center}
.rush-miss-tile .tits-sprite{display:block;height:86%;width:auto;aspect-ratio:1}
.rush-slot.is-miss{background:#130c20;box-shadow:inset 0 0 18px #0007}
.rush-slot.is-rolling .rush-scroll-strip{opacity:1;filter:none}

/* Finite strips decelerate into their actual result, column by column. */
.rush-reel-track{position:absolute;inset:0 0 auto;width:100%;display:flex;flex-direction:column;will-change:transform}
.rush-reel-tile{position:relative;display:flex;align-items:center;justify-content:center;flex:none;height:var(--rush-cell-h);overflow:hidden}
.rush-reel-tile>.tits-sprite{display:block;height:86%;width:auto;aspect-ratio:1}
.rush-slot.is-rolling.is-landed{animation:none!important}


.game-tits .cash-ball{background-position-y:96.685082873%}

/* Status copy must never borrow height from the three prize rows. */
.tits-rush .rush-status{
 flex:0 0 36px;height:36px;min-height:36px;max-height:36px;box-sizing:border-box;
 display:flex;flex-direction:column;justify-content:center;line-height:12px;
 margin:0;padding:0;overflow:hidden
}
.tits-rush .rush-status small{flex:none;line-height:12px}
