/* Small, CSS-only powers: the stone frame never moves or changes shape. */
.animal-art{position:relative;isolation:isolate;--power:#ffd274;--eye-x:78%;--eye-y:46%;--phase:0s}
.animal-art::before,.animal-art::after{content:"";position:absolute;pointer-events:none}
.animal-art::before{z-index:-1;inset:3%;border-radius:50%;background:radial-gradient(ellipse,transparent 24%,var(--power) 43%,transparent 70%);opacity:.22;animation:power-wave 3.8s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art::after{left:var(--eye-x);top:var(--eye-y);width:4.4%;height:4.4%;border-radius:50%;background:#fffce8;box-shadow:0 0 2px 1px var(--power),0 0 5px 1px var(--power);transform:translate(-50%,-50%);animation:power-eye 3.8s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-rat{--power:#ffc454;--eye-x:78.2%;--eye-y:45.6%}
.animal-art-ox{--power:#53baff;--eye-x:75.4%;--eye-y:47.8%}
.animal-art-tiger{--power:#c18bff;--eye-x:79%;--eye-y:41.4%}
.animal-art-rabbit{--power:#fff0af;--eye-x:81.2%;--eye-y:52.8%}
.animal-art-dragon{--power:#ff783c;--eye-x:76.8%;--eye-y:30.4%}
.animal-art-snake{--power:#5dff94;--eye-x:63.5%;--eye-y:27.3%}
.animal-art-horse{--power:#c4a0ff;--eye-x:78.7%;--eye-y:29.6%}
.animal-art-goat{--power:#7bf5ed;--eye-x:74%;--eye-y:37.6%}
.animal-art-monkey{--power:#ffd05c;--eye-x:78.5%;--eye-y:23.5%}
.animal-art-rooster{--power:#ff9670;--eye-x:73.5%;--eye-y:13.8%}
.animal-art-dog{--power:#c7ff65;--eye-x:80.1%;--eye-y:18.2%}
.animal-art-pig{--power:#ff66c5;--eye-x:77.6%;--eye-y:35.1%}
/* Awakening, strength, speed, invisibility, transformation, astral travel. */
.animal-art-rat::before{animation-name:awakening-wave;animation-duration:4.2s}
.animal-art-ox::before{background:radial-gradient(ellipse,transparent 36%,var(--power) 42%,transparent 51%,var(--power) 57%,transparent 68%);animation-duration:4.8s}
.animal-art-rabbit::before{inset:12% -8%;border-radius:0;background:linear-gradient(90deg,transparent,var(--power),transparent) 0 28%/85% 1px no-repeat,linear-gradient(90deg,transparent,var(--power),transparent) 0 65%/70% 1px no-repeat;animation:speed-stream 3.4s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-snake{animation:invisibility-veil 5.6s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-snake::before{animation-duration:5.6s}
.animal-art-monkey::before{background:conic-gradient(from 45deg,transparent,var(--power),transparent 25%,transparent 50%,#b99bff,transparent 75%);animation:transformation-aura 6s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-goat::before{background:radial-gradient(ellipse at 50% 70%,var(--power),transparent 66%);animation:astral-rise 4.8s ease-in-out infinite;animation-delay:var(--phase)}
/* Healing, eye beams, balance, levitation, immortality, dragon fire. */
.animal-art-horse::before{background:radial-gradient(circle,transparent 28%,var(--power) 33%,transparent 39%,transparent 52%,var(--power) 57%,transparent 64%);animation:healing-ripple 4.4s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-pig::before{inset:0;border-radius:0;background:linear-gradient(90deg,transparent,var(--power),#fff7ef,transparent) 100% 35%/36% 2px no-repeat;animation:laser-glint 4.6s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-pig::after{box-shadow:0 0 2px 1px #fff0ef,0 0 7px 2px var(--power)}
.animal-art-tiger::before{background:radial-gradient(circle at 30% 35%,#fff4da,transparent 44%),radial-gradient(circle at 70% 65%,var(--power),transparent 44%);animation:balance-orbit 7s linear infinite;animation-delay:var(--phase)}
.animal-art-rooster{animation:levitation 4.6s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-rooster::before{background:radial-gradient(ellipse at 50% 85%,var(--power),transparent 61%);animation:astral-rise 4.6s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-dog::before{background:radial-gradient(circle,transparent 40%,var(--power) 48%,transparent 56%);animation:guardian-halo 5.8s ease-in-out infinite;animation-delay:var(--phase)}
.animal-art-dragon::before{background:radial-gradient(ellipse at 50% 70%,#ffbd59,transparent 45%),radial-gradient(ellipse at 50% 30%,#ff5534,transparent 66%);animation:dragon-flame 3.8s ease-in-out infinite;animation-delay:var(--phase)}
.reel:nth-child(2n) .animal-art{--phase:-1.2s}.reel:nth-child(3n) .animal-art{--phase:-2.4s}
.talisman:nth-of-type(2n) .animal-art{--phase:-.8s}.talisman:nth-of-type(3n) .animal-art{--phase:-1.9s}
.lore-item:nth-child(2n) .animal-art{--phase:-1.6s}
@keyframes power-wave{0%,100%{opacity:.12;transform:scale(.74)}50%{opacity:.4;transform:scale(1.13)}}
@keyframes power-eye{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(.75)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}
@keyframes awakening-wave{0%,100%{opacity:.1;transform:scale(.45)}55%{opacity:.45;transform:scale(1.18)}}
@keyframes speed-stream{0%,65%,100%{opacity:.08;transform:translateX(-12%)}35%{opacity:.65;transform:translateX(12%)}}
@keyframes invisibility-veil{0%,100%{opacity:1}48%,60%{opacity:.42}}
@keyframes transformation-aura{0%,100%{opacity:.18;transform:rotate(0) scale(.8)}50%{opacity:.4;transform:rotate(150deg) scale(1.05)}}
@keyframes astral-rise{0%,100%{opacity:.12;transform:translateY(8%) scale(.8)}55%{opacity:.48;transform:translateY(-11%) scale(1.06)}}
@keyframes healing-ripple{0%,100%{opacity:.12;transform:scale(.6)}60%{opacity:.46;transform:scale(1.15)}}
@keyframes laser-glint{0%,40%,100%{opacity:.08;transform:scaleX(.6)}55%,68%{opacity:.7;transform:scaleX(1)}}
@keyframes balance-orbit{0%{opacity:.27;transform:rotate(0)}50%{opacity:.42}100%{opacity:.27;transform:rotate(360deg)}}
@keyframes levitation{0%,100%{transform:translateY(1%)}50%{transform:translateY(-5%)}}
@keyframes guardian-halo{0%,100%{opacity:.2;transform:scale(.88)}50%{opacity:.5;transform:scale(1.13)}}
@keyframes dragon-flame{0%,100%{opacity:.22;transform:scale(.85) rotate(-4deg)}35%{opacity:.58;transform:scale(1.15) rotate(3deg)}70%{opacity:.36;transform:scale(1.03) rotate(-2deg)}}
/* Moving reel strips carry many copies; suspend their decorative effects. */
.reels.spinning .animal-art,.reels.spinning .animal-art::before,.reels.spinning .animal-art::after{animation:none!important}
.reels.spinning .animal-art::before,.reels.spinning .animal-art::after{display:none}
@media(prefers-reduced-motion:reduce){.animal-art,.animal-art::before,.animal-art::after{animation:none!important}.animal-art::before{opacity:.22}.animal-art::after{opacity:.8}}
/* Stronger recognizable power accents, contained by the stone's silhouette. */
.animal-art-horse{--power:#79ffbe}.animal-art::after{width:5.2%;height:5.2%;box-shadow:0 0 2px 1px #fffce8,0 0 6px 2px var(--power),0 0 11px 2px var(--power)}
.sigil-fx{position:absolute;inset:-18%;display:block;pointer-events:none;z-index:2;opacity:.7;animation:power-glyph-pulse 3.4s ease-in-out infinite;animation-delay:var(--phase);color:var(--power)}
.sigil-fx>svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px currentColor)}
.animal-art .sigil-fx{margin:0}
.sigil-fx .ground-ring{stroke-width:1.4;opacity:.8}.sigil-fx-horse{color:#79ffbe;animation:healing-cross-rise 3s ease-in-out infinite;animation-delay:var(--phase)}.sigil-fx-horse .healing-cross{stroke-width:4}.sigil-fx-pig .power-bolt{stroke:#ffb0f0;stroke-width:2.8}.sigil-fx-pig .eye-ray{stroke:#fff3ec;stroke-width:2.2}.sigil-fx-pig{animation:charge-arc 3.8s ease-in-out infinite;animation-delay:var(--phase)}
.sigil-fx-dragon{color:#ff8e38;animation:fire-rise 3.6s ease-in-out infinite;animation-delay:var(--phase)}.sigil-fx-dragon .power-flame{fill:#ff742b66;stroke:#ffbf5e}.sigil-fx-rabbit{animation:speed-glyph 2.8s ease-in-out infinite;animation-delay:var(--phase)}.sigil-fx-goat,.sigil-fx-rooster{animation:soul-glyph-rise 4s ease-in-out infinite;animation-delay:var(--phase)}.sigil-fx-tiger{animation:power-glyph-pulse 5s ease-in-out infinite;animation-delay:var(--phase)}.sigil-fx-dog{opacity:.6}.sigil-fx-monkey .changing-stars{fill:#ffe08d66}
@keyframes power-glyph-pulse{0%,100%{opacity:.35;transform:scale(.88)}50%{opacity:.95;transform:scale(1.04)}}
@keyframes healing-cross-rise{0%,100%{opacity:.35;transform:translateY(6%)}55%{opacity:1;transform:translateY(-7%)}}
@keyframes charge-arc{0%,100%{opacity:.3}35%,65%{opacity:1}}
@keyframes fire-rise{0%,100%{opacity:.4;transform:translateY(3%) scale(.94)}50%{opacity:1;transform:translateY(-6%) scale(1.06)}}
@keyframes speed-glyph{0%,100%{opacity:.3;transform:translateX(-5%)}55%{opacity:1;transform:translateX(5%)}}
@keyframes soul-glyph-rise{0%,100%{opacity:.35;transform:translateY(5%)}60%{opacity:.95;transform:translateY(-6%)}}
@keyframes power-wave{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}
@keyframes awakening-wave{0%,100%{opacity:.3;transform:scale(.55)}55%{opacity:.85;transform:scale(1.25)}}
@keyframes healing-ripple{0%,100%{opacity:.3;transform:scale(.65)}60%{opacity:.95;transform:scale(1.23)}}
@keyframes guardian-halo{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.9;transform:scale(1.2)}}
@keyframes dragon-flame{0%,100%{opacity:.4;transform:scale(.9) rotate(-4deg)}35%{opacity:.9;transform:scale(1.2) rotate(3deg)}70%{opacity:.65;transform:scale(1.08) rotate(-2deg)}}
.reels.spinning .sigil-fx{display:none;animation:none}
@media(prefers-reduced-motion:reduce){.sigil-fx{animation:none!important;opacity:.6}}
