.special-current{stroke-width:1.45;opacity:.7;filter:drop-shadow(0 0 2px currentColor)}
.demo-controls{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}#demo-status{display:block;min-height:48px;color:#ead7a1}#cascade-stage{position:relative;max-width:640px;margin:12px auto 32px;background:#061617;border:1px solid #75613b;border-radius:18px;padding:12px;overflow:hidden}#cascade-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.demo-cell{min-width:0;border-radius:8px;background:#112a2d;transition:opacity .16s,filter .2s}.demo-cell .talisman-art{width:100%;display:block}.locked{filter:drop-shadow(0 0 5px var(--power,#edcf87))}.empowered{animation:energize .4s alternate infinite}.cleared{opacity:0;pointer-events:none}#cascade-fx,.fx-host{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}.creature{width:100%;max-height:100%;overflow:visible;color:var(--power);filter:drop-shadow(0 0 6px var(--power));fill:color-mix(in srgb,var(--power) 25%,#071d21);stroke:var(--power);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.creature .eye{fill:#fff;stroke:#fff}.animal{transform-origin:center;transform-box:fill-box;animation:manifest 1.25s both}.legs path{transform-box:fill-box;transform-origin:top}.rabbit .legs path,.pig .legs path{animation:stride .18s alternate 5}.legs .two,.legs .four{animation-delay:-.18s!important}.rabbit .animal{animation:rush 1.25s both}.ox .animal{animation:charge 1.25s both}.ox .head{transform-origin:170px 65px;animation:lower 1.25s}.snake .animal{animation:vanish 1.25s both;clip-path:inset(0)}.monkey .animal{animation:flip 1.25s both}.goat .animal{animation:ascend 1.25s both}.horse .legs .one{animation:stride .5s alternate 2}.ability-effects{fill:none;stroke-width:3}.beam{stroke:#ffbd7a;stroke-width:6;stroke-dasharray:200;animation:beam 1.25s both;filter:drop-shadow(0 0 6px #f44)}.halo,.shock{transform-origin:center;transform-box:fill-box;animation:ripple 1.25s both}.repair{animation:repair 1.25s both}.tether{stroke-dasharray:4 5;animation:vanish 1.25s both}.morph{animation:morph 1.25s both}.speed{animation:beam 1.25s both}#abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ability-card{border:1px solid #294545;border-radius:14px;padding:16px;background:#0b2022}.ability-card h3{margin:0;font-size:17px}.ability-card p{font-size:12px;min-height:35px;color:#b3c6c2}.ability-stage{height:160px;position:relative;display:grid;place-items:center;overflow:hidden}.ability-stage>.talisman-art{width:112px}.ability-card button{width:100%}.dropping .demo-cell{animation:fall .45s both}.reduced .creature *{animation-duration:.15s!important}
@keyframes energize{to{filter:brightness(1.65)}}@keyframes manifest{0%{opacity:0;scale:.5}20%,75%{opacity:1;scale:1}100%{opacity:0;scale:1.1}}@keyframes stride{to{rotate:25deg}}@keyframes rush{0%{opacity:0;translate:-90px 0}20%{opacity:1}80%{opacity:1;translate:110px -8px}100%{opacity:0;translate:180px -4px}}@keyframes charge{0%{opacity:0;translate:-25px 0}20%{opacity:1;translate:-40px 5px}70%{opacity:1;translate:80px 0}100%{opacity:0;translate:100px 0}}@keyframes lower{25%,50%{rotate:20deg}}@keyframes vanish{0%,20%{opacity:1;clip-path:inset(0)}100%{opacity:0;clip-path:inset(0 0 0 100%)}}@keyframes flip{0%{opacity:0;rotate:0deg;scale:.7}25%{opacity:1;translate:0 -20px}55%{rotate:180deg;scale:.45 1.2}80%{opacity:1;rotate:360deg;scale:1}100%{opacity:0;rotate:360deg}}@keyframes ascend{0%{opacity:0;translate:0 20px}25%{opacity:1}80%{opacity:.7;translate:0 -55px}100%{opacity:0;translate:0 -80px}}@keyframes beam{0%,45%{opacity:0;stroke-dashoffset:200}60%,85%{opacity:1;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:0}}@keyframes ripple{0%,30%{opacity:0;scale:.15}55%{opacity:1}100%{opacity:0;scale:2}}@keyframes repair{0%,40%{opacity:1}100%{opacity:0}}@keyframes morph{0%,30%,85%,100%{opacity:0}55%{opacity:1}}@keyframes fall{from{translate:0 -28px;opacity:.5}to{translate:0 0;opacity:1}}@media(max-width:700px){#abilities{grid-template-columns:repeat(2,minmax(0,1fr))}.ability-card{padding:10px}.ability-stage{height:130px}#cascade-stage{padding:6px}}@media(prefers-reduced-motion:reduce){.creature *{animation-duration:.15s!important}}

.animal-art>.live-stone{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.live-stone .micro-rim{fill:none;stroke:var(--power);stroke-width:.7;opacity:.2;animation:live-breathe var(--breath,6s) ease-in-out infinite}.live-stone .special-current{fill:none;stroke-dasharray:7 93;animation:live-stream var(--flow-duration,6s) linear infinite}.rare-power .special-current{stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 3px currentColor)}.rare-aura{stroke-width:1.7;stroke-dasharray:15 85;opacity:.6;filter:drop-shadow(0 0 4px var(--power));animation:live-stream 3s linear infinite}.rare-dragon .rare-aura{stroke:#ff8436;stroke-width:2.5}.rare-tiger .rare-aura:nth-last-child(2){stroke:#8deaff;animation-direction:reverse}.levitate-stone{animation:levitate 2.5s ease-in-out infinite;opacity:.7}.power-scene{position:absolute;inset:0;z-index:12;pointer-events:none;display:grid;place-items:center;overflow:hidden}.reels{position:relative}.game-card{position:relative}.power-scene .creature{max-width:600px;width:90%}@keyframes live-stream{to{stroke-dashoffset:-100}}@keyframes live-breathe{50%{opacity:.5}}@keyframes levitate{0%,100%{translate:0 0;opacity:.2}50%{translate:0 -30px;opacity:.9}}@media(prefers-reduced-motion:reduce){.live-stone *{animation:none!important}}

/* Brighter four special powers: localized engraving, layered sparks and halos. */
.rare-power .special-current{stroke-width:3.1!important;opacity:1!important;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px currentColor)!important}
.rare-power .rare-aura{opacity:.95;stroke-width:2.4;filter:drop-shadow(0 0 3px #fff3) drop-shadow(0 0 7px var(--power));animation-duration:1.9s}
.power-spark{fill:var(--power);stroke:#fff6;stroke-width:.4;filter:drop-shadow(0 0 4px var(--power));animation:spark-surge 2.4s ease-out infinite;transform-origin:100px 100px}
.power-ray{fill:none;stroke:var(--power);stroke-width:1.8;opacity:.8;stroke-dasharray:6 5;filter:drop-shadow(0 0 3px var(--power));animation:live-stream 2s linear infinite}
.rare-dragon{--power:#ff692d!important}.rare-rooster{--power:#ffe09b!important}.rare-dog{--power:#51f6e4!important}.rare-tiger{--power:#ffe3a0!important}
@keyframes spark-surge{0%{opacity:0;scale:.85}30%{opacity:1}100%{opacity:0;scale:1.13}}
@media(prefers-reduced-motion:reduce){.power-spark,.power-ray{animation:none;opacity:.7}}

.game-head{display:grid;grid-template-columns:1fr;gap:14px}.wallet-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:10px;width:100%;align-items:stretch}.wallet-row .balance{min-width:0;text-align:left;padding:12px 16px;align-content:center}.jackpot-wallet{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:5px 10px;border:1px solid #e6ad58;border-radius:10px;background:radial-gradient(ellipse at 20% 50%,#87321c66,transparent 70%),linear-gradient(120deg,#281c16,#112525);box-shadow:inset 0 0 22px #f58b2622,0 0 14px #ef862b22;color:#ffdb93}.jackpot-wallet .animal-art{width:86px!important;height:86px!important;flex:0 0 86px}.jackpot-copy{white-space:pre-line;font-size:18px;line-height:1.65;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.reel-legend{grid-template-columns:1fr 1fr}
@media(max-width:600px){.wallet-row{gap:7px;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}.wallet-row .balance{padding:9px;font-size:10px}.wallet-row .balance strong{font-size:20px}.jackpot-wallet{padding:4px 6px;gap:3px}.jackpot-wallet .animal-art{width:67px!important;height:67px!important;flex-basis:67px}.jackpot-copy{font-size:13px}.game-head{gap:10px}}

.rare-power .power-crown{stroke-width:3;opacity:.85;filter:drop-shadow(0 0 3px var(--power)) drop-shadow(0 0 8px var(--power));animation:crown-flare 2.6s ease-in-out infinite}.rare-power .special-current{stroke-width:3.6!important}@keyframes crown-flare{50%{stroke-width:4.5;opacity:1}}@media(prefers-reduced-motion:reduce){.power-crown{animation:none!important}}

.batch-controls{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.batch-controls>span{font-size:12px;color:#decc9d}.batch-controls .button{font-size:12px;padding:9px 12px}.batch-controls output{flex-basis:100%;font-size:11px;line-height:1.7;color:#c7d5ce}.batch-controls [hidden]{display:none!important}.award-confirm{max-width:min(440px,94vw);text-align:center;border:1px solid #e3b65d;background:radial-gradient(ellipse,#2b473e,#081a1e);color:#fff1cf;border-radius:20px;padding:30px}.award-confirm::backdrop{background:#010b11dd}.award-confirm .award-art{display:block;width:160px;height:160px;position:relative;margin:auto}.award-confirm strong{display:block;font-size:38px;margin:18px 0;color:#ffdc91}.award-confirm p{font-size:12px;color:#cad4cb}.award-confirm .live-stone{width:100%;height:100%}

.glyph-win-layer{position:absolute;inset:0;width:100%;height:100%;z-index:12;pointer-events:none}.eliminating{animation:none!important;transform:none!important}.eliminated{opacity:0!important}.reel-track{padding:0!important;flex-shrink:0}.reel-track .talisman{flex-shrink:0}.reels.spinning .reel{animation:none!important}.animal-art>.live-stone{width:100%;height:100%}
.reel-track{top:6px!important}

@keyframes stable-reel{from{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--loop-distance)))}}

.animal-art::before,.animal-art::after{display:none!important;animation:none!important}.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}.reel-track{will-change:transform}.reels:not(.spinning) .talisman{will-change:auto}
