.paytable-grid{gap:14px!important;margin-top:20px!important}.payrow{position:relative!important;grid-template-columns:102px minmax(0,1fr)!important;gap:16px!important;min-height:116px;padding:12px 16px 12px 10px!important;border:2px solid #b87927!important;border-radius:18px!important;background:linear-gradient(135deg,#193b20ee,#0a1b12f2 68%,#2b4c1cdd)!important;box-shadow:inset 0 0 0 2px #f2c94c22,inset 0 -10px 18px #020a0555,0 7px 16px #0008!important;overflow:hidden}.payrow:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#fff3a51c,transparent 30%,transparent 68%,#d8ff6b12)}.payrow .symbol-debug{position:relative;z-index:1;width:94px;height:94px;border-radius:16px;background:radial-gradient(circle,#d9f58c22,transparent 68%);box-shadow:inset 0 0 18px #a5e35b18}.payrow .symbol-art{width:88px;height:88px;filter:drop-shadow(0 7px 5px #000b)}.payrow .symbol-debug b{top:0;right:-2px;border:1px solid #ffe978;background:#5b3518;color:#fff0a4}.payrow>div:last-child{position:relative;z-index:1}.payvalues{gap:7px!important;margin-top:9px!important}.payvalues div{padding:5px 4px;border:1px solid #f2c94c45;border-radius:9px;background:#06150bd9;text-align:center}.payvalues b{display:block;color:#ffe353;font-size:23px;text-shadow:0 2px 0 #613313}.payvalues small{display:block;color:#dbe2c0;font:800 10px/1 system-ui,sans-serif;letter-spacing:.08em}
@media(max-width:580px){.payrow{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important;padding:9px!important}.payrow .symbol-debug{width:70px;height:70px}.payrow .symbol-art{width:66px;height:66px}.payrow>div:last-child>b{font-size:14px}.payvalues b{font-size:18px}}
.spin-label{display:none!important}.spin-button:active{transform:scale(.9)!important;filter:brightness(.88)}.spin-button:active .spin-arrow{transform:translateY(3px) scale(.9)}.spin-arrow{font-size:58px!important}
.spin-button.is-spinning .spin-arrow,.spin-button.is-spinning .spin-ring{animation:none!important;transform:none!important}.spin-button.is-spinning{animation:buttonPress .22s ease-out}.spin-button.is-spinning:after{animation:none!important;transform:translateX(18%) rotate(12deg);opacity:.35}@keyframes buttonPress{0%{transform:scale(.92)}100%{transform:scale(1)}}
.cell:not(.is-spinning) .symbol-art{animation:jungleSymbolIdle 3.2s ease-in-out infinite;animation-delay:calc((var(--symbol-index, 1))*-0.27s)}.cell:nth-child(3n) .symbol-art{--symbol-index:3}.cell:nth-child(3n+1) .symbol-art{--symbol-index:1}.cell:nth-child(3n+2) .symbol-art{--symbol-index:2}.cell.is-winning .symbol-art{animation:jungleWinnerIdle .5s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px #ffe45d) drop-shadow(0 0 18px #8dff52)}@keyframes jungleSymbolIdle{0%,100%{transform:translateY(0) scale(1) rotate(0)}50%{transform:translateY(-2px) scale(1.025) rotate(.6deg)}}@keyframes jungleWinnerIdle{to{transform:translateY(-5px) scale(1.13) rotate(-1.5deg)}}
.win-banner{left:50%!important;top:50%!important;min-width:min(78%,520px);padding:20px 34px!important;font-size:clamp(28px,4.5vw,64px)!important;letter-spacing:.045em;text-shadow:0 4px 0 #542713,0 0 18px #fff09a;white-space:nowrap;z-index:20!important}
.reels-shell:has(.cell.is-spinning){box-shadow:inset 0 0 0 5px #f7c936,inset 0 0 0 10px #6a3520,0 0 0 4px #6fbf45,0 0 26px #b8ef4c88;animation:machinePulse .8s ease-in-out infinite alternate}.reels-shell:has(.cell.is-winning){animation:winFrame 1s ease-in-out infinite alternate}.spin-button.is-spinning{filter:brightness(1.2) saturate(1.25);box-shadow:0 0 0 5px #5f350e,0 0 0 11px #8ee34a88,0 13px 22px #000b,inset 0 7px 12px #ffffff55}.spin-button.is-spinning .spin-ring{animation:ringTurn 1.5s linear infinite;border-color:#fff5a8}.machine:has(.win-banner.show){animation:celebrateMachine .7s ease-out}.win-banner[data-tier="jackpot"]:before,.win-banner[data-tier="mega"]:before{content:"✦  ✧  ✦";display:block;margin-bottom:4px;color:#d9ff62;font-size:.45em;letter-spacing:.5em;animation:starFlash .55s ease-in-out infinite alternate}@keyframes machinePulse{to{box-shadow:inset 0 0 0 5px #fff078,inset 0 0 0 10px #6a3520,0 0 0 5px #b5ef58,0 0 38px #dfff8c}}@keyframes winFrame{to{box-shadow:inset 0 0 0 5px #fff078,inset 0 0 0 10px #6a3520,0 0 0 5px #ffca3c,0 0 42px #ffe45d}}@keyframes celebrateMachine{25%{transform:translateY(-3px) scale(1.01)}60%{transform:translateY(1px) scale(.995)}}@keyframes starFlash{to{opacity:.45;transform:scale(1.15)}}
.symbol-modal .eyebrow,.symbol-modal .rules-grid{display:none}.symbol-modal .modal-card{width:min(620px,92vw);padding:18px;background:linear-gradient(145deg,#1b4324f5,#07170df5);border-color:#e1b840}.symbol-modal .modal-head h2{font-size:clamp(30px,5vw,52px);color:#ffe477;text-shadow:0 3px 0 #542d16}.symbol-modal .modal-copy{margin:4px 0 12px;font-size:12px;color:#d9e7b9}.symbol-modal .paytable-grid{display:block;margin-top:8px}.symbol-modal .payrow{grid-template-columns:180px 1fr!important;min-height:190px;padding:18px!important;border-width:3px;border-color:#e2b53b;background:radial-gradient(circle at 22% 50%,#9dd45b2c,transparent 35%),linear-gradient(135deg,#26562ce8,#0a1b10f5)}.symbol-modal .payrow .symbol-debug{width:170px;height:170px}.symbol-modal .payrow .symbol-art{width:160px;height:160px}.symbol-modal .payrow .symbol-debug b{display:none}.symbol-modal .payvalues{gap:10px}.symbol-modal .payvalues div{padding:9px 5px}.symbol-modal .payvalues b{font-size:28px}.symbol-modal .payvalues small{font-size:11px}.symbol-modal .payrow:after{content:"";position:absolute;left:12px;bottom:12px;width:150px;height:8px;border-radius:50%;background:#0a120a88;filter:blur(5px)}
.cell.is-winning .symbol-art{filter:drop-shadow(0 0 10px #67e8f9) drop-shadow(0 0 18px #8b5cf6)!important}.spin-button.is-spinning{box-shadow:0 0 0 5px #171044,0 0 0 11px #22d3ee88,0 13px 22px #000b,inset 0 7px 12px #ffffff55!important}.spin-button.is-spinning .spin-ring{border-color:#c4b5fd!important}.win-banner[data-tier="jackpot"]:before,.win-banner[data-tier="mega"]:before{color:#67e8f9!important}
.reels-shell:after{border-color:#b91c1c!important;box-shadow:0 0 0 3px #14532d,0 0 22px #facc15,inset 0 0 14px #451a03!important}.cell.is-winning .symbol-art{filter:drop-shadow(0 0 10px #facc15) drop-shadow(0 0 18px #dc2626)!important}.win-banner{border-color:#facc15!important;background:linear-gradient(135deg,#14532dee,#991b1bee)!important;color:#fff7ed!important;box-shadow:0 0 0 5px #451a03bd,0 0 48px #facc1588!important}.win-banner[data-tier="jackpot"],.win-banner[data-tier="mega"]{border-color:#fef08a!important;color:#fff!important;box-shadow:0 0 0 5px #451a03bd,0 0 58px #dc2626aa!important}.free-spins{border-color:#facc15!important;background:#14532ded!important;box-shadow:0 8px 25px #0009,0 0 20px #facc1555!important}.machine:has(.win-banner.show){animation:celebrateMachineMex .7s ease-out}@keyframes celebrateMachineMex{25%{transform:translateY(-3px) scale(1.01)}60%{transform:translateY(1px) scale(.995)}}

/* Symbol detail reveal: the selected board icon should feel alive, not static. */
.symbol-modal .modal-card{overflow:visible;animation:symbolModalReveal .34s cubic-bezier(.2,.85,.2,1)}
.symbol-modal .symbol-focus{overflow:visible!important;isolation:isolate}
.symbol-modal .symbol-focus:before{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 18%,#facc1538 24%,transparent 32% 50%,#dc262638 57%,transparent 66% 100%);filter:blur(12px);animation:symbolAuraTurn 7s linear infinite}
.symbol-modal .symbol-focus .symbol-debug{z-index:2;border-radius:50%;background:radial-gradient(circle,#fff7b82d 0 28%,#facc1520 44%,transparent 72%);box-shadow:0 0 24px #facc1566,0 0 54px #dc262633,inset 0 0 24px #fff7b822;animation:symbolPedestalPulse 1.8s ease-in-out infinite alternate}
.symbol-modal .symbol-focus .symbol-debug:before{content:"";position:absolute;inset:-13px;border:3px solid #facc1599;border-left-color:#dc2626aa;border-bottom-color:#fff7b866;border-radius:50%;box-shadow:0 0 16px #facc1566,inset 0 0 12px #dc262633;animation:symbolRingTurn 4.2s linear infinite}
.symbol-modal .symbol-focus .symbol-debug:after{content:"";position:absolute;inset:-28px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 18% 28%,#fff 0 2px,transparent 3px),radial-gradient(circle at 78% 18%,#facc15 0 3px,transparent 4px),radial-gradient(circle at 88% 68%,#fff7b8 0 2px,transparent 3px),radial-gradient(circle at 25% 82%,#dc2626 0 3px,transparent 4px),radial-gradient(circle at 52% 5%,#fff 0 1.5px,transparent 2.5px);filter:drop-shadow(0 0 5px #facc15);animation:symbolSparkOrbit 3.1s ease-in-out infinite alternate}
.symbol-modal .symbol-focus .symbol-art{position:relative;z-index:4;transform-origin:50% 70%;filter:drop-shadow(0 9px 8px #000a) drop-shadow(0 0 13px #facc15aa) drop-shadow(0 0 25px #dc262666)!important;animation:symbolHeroFloat 2.2s ease-in-out infinite!important}
.symbol-modal .symbol-focus>div:last-child{z-index:3}
@keyframes symbolModalReveal{0%{opacity:0;transform:translateY(18px) scale(.82)}65%{opacity:1;transform:translateY(-3px) scale(1.025)}100%{opacity:1;transform:none}}
@keyframes symbolHeroFloat{0%,100%{transform:translateY(2px) scale(1) rotate(-1deg)}50%{transform:translateY(-10px) scale(1.075) rotate(1.5deg)}}
@keyframes symbolRingTurn{to{transform:rotate(360deg)}}
@keyframes symbolAuraTurn{to{transform:rotate(360deg) scale(1.04)}}
@keyframes symbolSparkOrbit{0%{transform:rotate(-7deg) scale(.92);opacity:.55}100%{transform:rotate(10deg) scale(1.08);opacity:1}}
@keyframes symbolPedestalPulse{to{box-shadow:0 0 34px #facc1599,0 0 72px #dc26264d,inset 0 0 34px #fff7b833}}
@media(max-width:580px){.symbol-modal .payrow{grid-template-columns:125px minmax(0,1fr)!important;min-height:150px}.symbol-modal .payrow .symbol-debug{width:120px;height:120px}.symbol-modal .payrow .symbol-art{width:112px;height:112px}.symbol-modal .symbol-focus .symbol-debug:before{inset:-9px}}
@media(prefers-reduced-motion:reduce){.symbol-modal .modal-card,.symbol-modal .symbol-focus:before,.symbol-modal .symbol-focus .symbol-debug,.symbol-modal .symbol-focus .symbol-debug:before,.symbol-modal .symbol-focus .symbol-debug:after,.symbol-modal .symbol-focus .symbol-art{animation:none!important}}
