@keyframes fxPop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}@keyframes fxGlow{0%,to{box-shadow:0 0 0 rgba(61,220,151,0)}50%{box-shadow:0 0 26px rgba(61,220,151,.55)}}.wheel-result{animation:fxPop .35s ease-out both}.wheel-result.alert-success{animation:fxPop .35s ease-out both,fxGlow 1.4s ease-in-out 3}.fx-burst{position:relative;height:0;overflow:visible;pointer-events:none}.fx-burst i{position:absolute;left:50%;top:0;width:8px;height:14px;border-radius:2px;background:var(--c,#f5c518);opacity:0;animation:fxBurst 1.2s ease-out forwards;animation-delay:var(--d,0s)}@keyframes fxBurst{0%{opacity:1;transform:translate(0) rotate(0deg)}to{opacity:0;transform:translate(var(--x,0),var(--y,120px)) rotate(var(--r,1turn))}}.felt{position:relative;padding:1.6rem 1rem;border-radius:18px;border:2px solid #b8920f;background:radial-gradient(ellipse at 50% 30%,#1c7a4a 0,#0f4d2e 60%,#0a3320 100%);box-shadow:inset 0 0 60px rgba(0,0,0,.45),0 8px 30px rgba(0,0,0,.4);color:#fff}.felt .muted{color:rgba(255,255,255,.75)}.felt-title{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:#ffd84d;margin:0 0 .5rem}.hand{display:flex;gap:.5rem;justify-content:center;min-height:6.6rem;align-items:center;flex-wrap:wrap}.pcard{position:relative;width:4.2rem;height:6rem;border-radius:.5rem;background:#fff;color:#111;font-weight:800;box-shadow:0 4px 12px rgba(0,0,0,.45);display:grid;place-items:center;font-size:1.9rem;transform-style:preserve-3d}.pcard.red{color:#c0392b}.pcard .corner{position:absolute;top:.25rem;left:.35rem;font-size:.85rem;line-height:1;text-align:center}.pcard .corner.b{top:auto;left:auto;bottom:.25rem;right:.35rem;transform:rotate(180deg)}.pcard.back{background:repeating-linear-gradient(45deg,#5b1d99 0 6px,#3b0f5c 6px 12px);border:3px solid #fff;color:transparent}.pcard.deal{animation:fxDeal .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--delay,0s)}@keyframes fxDeal{0%{opacity:0;transform:translate(-6rem,-5rem) rotateY(180deg) rotate(-20deg) scale(.7)}70%{opacity:1}to{opacity:1;transform:translate(0) rotateY(0) rotate(0) scale(1)}}.pcard.win{outline:3px solid #3ddc97;box-shadow:0 0 22px rgba(61,220,151,.8)}.die{width:4.4rem;height:4.4rem;border-radius:.8rem;background:linear-gradient(145deg,#fff,#dcdce4);box-shadow:0 5px 14px rgba(0,0,0,.45),inset 0 -3px 0 rgba(0,0,0,.12);display:grid;grid-template:repeat(3,1fr) /repeat(3,1fr);padding:.55rem;grid-gap:.1rem;gap:.1rem}.die b{width:.8rem;height:.8rem;border-radius:50%;background:#1a1a1a;place-self:center;opacity:0}.die b.on{opacity:1}.die.hit{outline:3px solid #3ddc97;box-shadow:0 0 22px rgba(61,220,151,.8)}.die.roll{animation:fxTumble .9s ease-in-out infinite}@keyframes fxTumble{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-1.4rem) rotate(110deg) scale(1.05)}50%{transform:translateY(0) rotate(220deg)}75%{transform:translateY(-.8rem) rotate(300deg)}to{transform:translateY(0) rotate(1turn)}}.die.land{animation:fxLand .35s ease-out}@keyframes fxLand{0%{transform:translateY(-1rem) scale(1.12)}60%{transform:translateY(.2rem) scale(.97)}to{transform:none}}.vslot{display:grid;grid-gap:.6rem;gap:.6rem;padding:1.2rem;border-radius:18px;border:3px solid #b8920f;background:linear-gradient(180deg,#2a0f45,#14091f);box-shadow:0 0 40px rgba(245,197,24,.18),inset 0 0 30px rgba(0,0,0,.5)}.vslot-title{text-align:center;font-weight:900;letter-spacing:.15em;color:#ffd84d;text-shadow:0 0 14px rgba(245,197,24,.6)}.vslot-reels{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.45rem;gap:.45rem}.vreel{position:relative;height:calc(3 * 4.1rem);overflow:hidden;border-radius:12px;background:#0d1226;border:2px solid #3b2a63}.vreel-col{display:grid;grid-auto-rows:4.1rem}.vcell{display:grid;place-items:center;font-size:2.2rem;height:4.1rem;transition:transform .2s}.vcell.win{animation:fxPulse .7s ease-in-out infinite;background:rgba(61,220,151,.18);border-radius:8px}@keyframes fxPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.vreel.spin .vreel-col{animation:fxReel .45s linear infinite;filter:blur(2.5px)}@keyframes fxReel{0%{transform:translateY(-.7rem) scaleY(1.08)}to{transform:translateY(.7rem) scaleY(1.08)}}.vreel.land .vreel-col{animation:fxReelLand .4s ease-out}@keyframes fxReelLand{0%{transform:translateY(-1.4rem)}55%{transform:translateY(.4rem)}to{transform:translateY(0)}}.vslot-win{text-align:center;min-height:1.6rem;font-weight:800;color:#3ddc97}.scratch{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;max-width:20rem;margin:0 auto;padding:.8rem;border-radius:16px;border:3px solid #b8920f;background:linear-gradient(135deg,#ffd84d,#d99a00)}.scratch-cell{position:relative;height:5.2rem;border-radius:12px;display:grid;place-items:center;font-size:2.4rem;background:#fff8dc;color:#222;overflow:hidden}.scratch-cell .cover{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#c9c9d0 0 8px,#aeb0b8 8px 16px);display:grid;place-items:center;font-size:1.3rem;color:#6c6e76;transition:opacity .35s,transform .35s}.scratch-cell.open .cover{opacity:0;transform:scale(1.3) rotate(8deg);pointer-events:none}.scratch-cell.open .sym{animation:fxPop .35s ease-out both}.scratch-cell.hit{outline:3px solid #3ddc97;box-shadow:0 0 18px rgba(61,220,151,.8)}.fx-tile{transition:transform .15s,box-shadow .15s}.fx-tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(245,197,24,.25)}@media (prefers-reduced-motion:reduce){.die.land,.die.roll,.fx-burst i,.pcard.deal,.vcell.win,.vreel.land .vreel-col,.vreel.spin .vreel-col,.wheel-result{animation:none!important}}.tower{position:relative;display:grid;grid-template-columns:1fr 5rem;grid-gap:1rem;gap:1rem;align-items:end;padding:1.2rem;border-radius:18px;background:linear-gradient(180deg,#14091f,#2a0f45);border:3px solid #b8920f}.tower-levels{display:grid;grid-gap:.35rem;gap:.35rem}.tower-level{display:flex;justify-content:space-between;align-items:center;padding:.55rem .9rem;border-radius:10px;background:#1d1330;color:#bba7de;font-weight:800;transition:background .12s,color .12s,box-shadow .12s}.tower-level.lit{background:linear-gradient(90deg,#f5c518,#ff9f1c);color:#1a1100;box-shadow:0 0 18px rgba(245,197,24,.7)}.tower-level.top{box-shadow:inset 0 0 0 2px #b8920f}.tower-hammer{font-size:3.6rem;text-align:center;transform-origin:80% 90%;transition:transform .2s}.tower-hammer.swing{animation:fxSwing .7s cubic-bezier(.5,0,.8,.4) both}@keyframes fxSwing{0%{transform:rotate(-70deg)}55%{transform:rotate(-70deg)}80%{transform:rotate(25deg) scale(1.15)}to{transform:rotate(0)}}.tower-bell.ring{animation:fxRing .5s ease-in-out 3}@keyframes fxRing{0%,to{transform:rotate(0)}25%{transform:rotate(18deg)}75%{transform:rotate(-18deg)}}.run{position:relative;height:9rem;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#ffb457,#ffd9a0 55%,#c98b3c 0,#a8702a);border:3px solid #b8920f}.run-ground{position:absolute;left:0;right:0;bottom:0;height:45%;background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2rem,transparent 2rem 4rem)}.run-obstacle{font-size:2.2rem;transform:translateX(-50%)}.run-dino,.run-obstacle{position:absolute;bottom:42%}.run-dino{font-size:3rem;transform:translateX(-50%) scaleX(-1);transition:left .45s linear}.run-dino.jump{animation:fxJump .45s ease-out}@keyframes fxJump{0%{margin-bottom:0}50%{margin-bottom:3.2rem}to{margin-bottom:0}}.run-dino.fall{animation:fxFall .6s ease-in both}@keyframes fxFall{0%{transform:translateX(-50%) scaleX(-1) rotate(0)}to{transform:translateX(-50%) scaleX(-1) rotate(-90deg) translateY(.8rem)}}.run-flag{position:absolute;bottom:42%;right:1.5%;font-size:2.4rem}@media (prefers-reduced-motion:reduce){.run-dino.fall,.run-dino.jump,.tower-bell.ring,.tower-hammer.swing{animation:none!important}}.sgrid-wrap{display:grid;grid-gap:.6rem;gap:.6rem;padding:1.1rem;border-radius:18px;border:3px solid var(--sg-border,#b8920f);background:var(--sg-bg,linear-gradient(180deg,#2a0f45,#14091f));box-shadow:0 0 40px rgba(245,197,24,.15),inset 0 0 30px rgba(0,0,0,.45)}.sgrid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:.3rem;gap:.3rem}.scell{aspect-ratio:1;display:grid;place-items:center;font-size:1.9rem;border-radius:10px;background:rgba(255,255,255,.07)}.scell.drop{animation:fxDrop .5s cubic-bezier(.3,1.3,.5,1) both;animation-delay:var(--delay,0s)}@keyframes fxDrop{0%{opacity:0;transform:translateY(-5rem) scale(.8)}to{opacity:1;transform:none}}.scell.win{animation:fxPulse .7s ease-in-out infinite;background:rgba(61,220,151,.28);box-shadow:0 0 14px rgba(61,220,151,.7)}.scell.dim{opacity:.45}.sgrid-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;justify-content:center;font-size:.85rem;color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.scell.drop,.scell.win{animation:none!important}}.hand.tight{gap:0;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-inline:.5rem}.hand.tight .pcard+.pcard{-webkit-margin-start:-2.6rem;margin-inline-start:-2.6rem}.r3d-stage{position:relative;height:380px;perspective:1100px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 35%,#1f6b3f 0,#0c3a21 55%,#061c10 100%)}.r3d-tilt{position:relative;width:340px;height:340px;transform:rotateX(52deg);transform-style:preserve-3d;margin-top:-40px}.r3d-rim{position:absolute;inset:-14px;border-radius:50%;background:conic-gradient(#3a1c06,#8a4b1c,#3a1c06,#8a4b1c,#3a1c06);box-shadow:0 30px 40px rgba(0,0,0,.6),inset 0 0 0 4px #d4a53a;transform:translateZ(-6px)}.r3d-ball-layer,.r3d-wheel{position:absolute;inset:0;transition-property:transform;transition-timing-function:cubic-bezier(.12,.62,.18,1)}.r3d-face{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.r3d-ball-layer{pointer-events:none}.r3d-ball{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#cfcfcf 60%,#8a8a8a);box-shadow:0 3px 4px rgba(0,0,0,.5);transform:translateY(-158px) translateZ(8px);transition:transform 1.2s cubic-bezier(.3,1.4,.5,1)}.r3d-ball.in{transform:translateY(-122px) translateZ(4px)}.r3d-result{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);min-width:4.2rem;padding:.35rem .9rem;border-radius:999px;color:#fff;font-weight:900;font-size:1.6rem;border:2px solid #d4a53a;box-shadow:0 0 24px rgba(212,165,58,.6);animation:r3d-pop .45s cubic-bezier(.3,1.6,.5,1)}@keyframes r3d-pop{0%{transform:translateX(-50%) scale(.4);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}.r3d-history{display:flex;gap:.3rem;justify-content:center;flex-wrap:wrap;margin-top:.6rem;min-height:1.8rem}.r3d-history span{min-width:1.8rem;padding:.15rem .35rem;border-radius:6px;color:#fff;font-weight:800;font-size:.8rem;border:1px solid rgba(212,165,58,.5)}@media (max-width:520px){.r3d-stage{height:300px}.r3d-tilt{width:260px;height:260px}.r3d-ball{transform:translateY(-121px) translateZ(8px)}.r3d-ball.in{transform:translateY(-93px) translateZ(4px)}}@media (prefers-reduced-motion:reduce){.r3d-ball,.r3d-ball-layer,.r3d-wheel{transition-duration:.01s!important}}.pgf{display:flex;flex-direction:column;gap:.6rem;min-height:calc(100vh - 140px)}.pgf-bar{justify-content:space-between;gap:.8rem;padding:.55rem .8rem;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(245,197,24,.25);box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}.pgf-bar,.pgf-title{display:flex;align-items:center}.pgf-title{flex-direction:column;line-height:1.15;text-align:center}.pgf-title strong{font-size:1.05rem;color:#f5c518;text-shadow:0 0 14px rgba(245,197,24,.45)}.pgf-title span{font-size:.78rem;color:var(--text-muted)}.pgf-stage{position:relative;flex:1 1;min-height:70vh;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#1d1630,#07060c 70%);border:1px solid rgba(245,197,24,.18);box-shadow:0 24px 60px rgba(0,0,0,.55)}.pgf-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.pgf-stage:-webkit-full-screen{border-radius:0}.pgf-stage:fullscreen{border-radius:0}.pgf-msg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center;padding:1rem}.pgf-spin{width:54px;height:54px;border-radius:50%;border:4px solid rgba(245,197,24,.18);border-top-color:#f5c518;animation:pgf-spin .9s linear infinite;box-shadow:0 0 24px rgba(245,197,24,.35)}@keyframes pgf-spin{to{transform:rotate(1turn)}}@media (max-width:640px){.pgf-stage{min-height:78vh}.pgf-title strong{font-size:.92rem}}