.goat-vfx-stage{--goat-v1:#8b4cc7;--goat-v2:#d8c6ff;--goat-v3:#4b176f;--goat-v4:#f4edff;--goat-blood:#b51f62;position:fixed;z-index:2147481500;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}
.goat-lightning-field{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:9;pointer-events:none}
.goat-lightning-bolt{filter:drop-shadow(0 0 7px var(--goat-v1))}
.goat-lightning-charge,.goat-lightning-impact{filter:drop-shadow(0 0 12px var(--goat-v1))}
.goat-lightning-flare{filter:blur(14px)}
.goat-vfx-stage[data-goat-theme="kokorszaki"]{--goat-v1:#95da0b;--goat-v2:#fff07c;--goat-v3:#476d08;--goat-v4:#ff94ff;--goat-blood:#ff3f91}
.goat-vfx-stage[data-goat-theme="mesekonyv"]{--goat-v1:#7ba6fc;--goat-v2:#ff9ee9;--goat-v3:#512b9d;--goat-v4:#fff2a8;--goat-blood:#ff557e}
.goat-vfx-stage>span{position:absolute;display:block;box-sizing:border-box;transform-origin:center;will-change:transform,opacity}
.goat-vfx-caster-crown{width:178px;height:178px;border:2px solid var(--goat-v1);border-radius:50%;background:radial-gradient(circle,transparent 37%,color-mix(in srgb,var(--goat-v3) 28%,transparent) 39% 54%,transparent 56%);box-shadow:0 0 18px var(--goat-v1),inset 0 0 30px color-mix(in srgb,var(--goat-v1) 35%,transparent);transform:translate(-50%,-50%)}
.goat-vfx-caster-crown i{position:absolute;inset:11px;border:2px dashed var(--goat-v2);border-radius:50%;animation:goat-vfx-spin 2.4s linear infinite}.goat-vfx-caster-crown i:nth-child(2){inset:31px;border-style:dotted;border-color:var(--goat-v4);animation-direction:reverse;animation-duration:1.4s}.goat-vfx-caster-crown b{position:absolute;left:50%;top:-24px;width:44px;height:58px;border:6px solid var(--goat-v1);border-right-color:transparent;border-bottom-color:transparent;border-radius:65% 0;filter:drop-shadow(0 0 8px var(--goat-v1));transform:translateX(-50%) rotate(45deg)}.goat-vfx-caster-crown em{position:absolute;inset:0;display:grid;place-items:center;color:var(--goat-v4);font:900 42px Georgia;text-shadow:0 0 10px #fff,0 0 26px var(--goat-v1)}
.goat-vfx-electric-stream{z-index:7;height:19px;transform-origin:left center;filter:drop-shadow(0 0 4px var(--goat-v4)) drop-shadow(0 0 11px var(--goat-v1));background:linear-gradient(90deg,transparent 0 2%,var(--goat-v1) 6%,var(--goat-v4) 28%,var(--goat-v2) 54%,var(--goat-v1) 82%,transparent 100%);clip-path:polygon(0 45%,7% 12%,13% 68%,21% 22%,29% 76%,38% 8%,47% 65%,56% 19%,65% 79%,74% 30%,84% 70%,92% 17%,100% 45%,92% 69%,84% 42%,74% 88%,65% 49%,56% 82%,47% 39%,38% 92%,29% 51%,21% 86%,13% 41%,7% 80%,0 55%)}
.goat-vfx-electric-stream>i,.goat-vfx-electric-stream>b,.goat-vfx-electric-stream>em,.goat-vfx-electric-stream>u{position:absolute;left:0;right:0;top:7px;height:3px;background:linear-gradient(90deg,transparent,var(--goat-v4) 5% 92%,transparent);box-shadow:0 0 7px var(--goat-v2);clip-path:polygon(0 0,9% 100%,18% 0,27% 100%,36% 0,45% 100%,54% 0,63% 100%,72% 0,81% 100%,90% 0,100% 100%)}
.goat-vfx-electric-stream>b{top:2px;height:2px;opacity:.76;translate:3% 0}.goat-vfx-electric-stream>em{top:14px;height:2px;opacity:.7;translate:-2% 0}.goat-vfx-electric-stream>u{top:5px;height:9px;opacity:.28;filter:blur(5px)}
.goat-vfx-electric-stream.is-1{height:14px;filter:drop-shadow(0 0 5px var(--goat-v1))}.goat-vfx-electric-stream.is-2{height:23px;opacity:.88}
.goat-vfx-bone-mark{z-index:12;display:grid!important;width:136px;height:136px;place-items:center;border:2px solid var(--goat-v2);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--goat-v1) 42%,#09030f) 0 34%,rgba(5,1,9,.86) 67%,transparent 69%);box-shadow:0 0 17px var(--goat-v2),0 0 46px var(--goat-v1),inset 0 0 24px var(--goat-v3)}
.goat-vfx-bone-mark>i,.goat-vfx-bone-mark>b{position:absolute;inset:7px;border:2px dashed var(--goat-v1);border-radius:50%;animation:goat-vfx-spin 1.5s linear infinite}.goat-vfx-bone-mark>b{inset:-9px;border-style:dotted;border-color:var(--goat-v2);animation-direction:reverse;animation-duration:2.2s}.goat-vfx-bone-mark>img{position:relative;z-index:2;width:100px;height:100px;object-fit:contain;filter:brightness(1.16) drop-shadow(0 0 8px var(--goat-v4)) drop-shadow(0 0 17px var(--goat-v1))}
.goat-vfx-mote{z-index:8;width:8px;height:13px;border:1px solid var(--goat-v2);border-radius:50% 50% 42% 42%;background:var(--goat-v1);box-shadow:0 0 8px var(--goat-v1),0 0 18px var(--goat-v3)}.goat-vfx-mote.is-1{width:5px;height:18px;border-radius:2px;background:var(--goat-v2)}.goat-vfx-mote.is-2{width:11px;height:11px;border-radius:1px;background:transparent;rotate:45deg}
.goat-vfx-grave-seal{z-index:6;width:210px;height:210px;border:3px solid var(--goat-v1);border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--goat-v1) 30%,transparent) 0 2deg,transparent 2deg 24deg),radial-gradient(circle,rgba(0,0,0,.72) 0 28%,color-mix(in srgb,var(--goat-v3) 48%,transparent) 30% 53%,transparent 55%);box-shadow:0 0 16px var(--goat-v2),0 0 55px var(--goat-v3),inset 0 0 30px var(--goat-v3)}
.goat-vfx-grave-seal>i{position:absolute;inset:18px;border:2px dashed var(--goat-v2);border-radius:50%;animation:goat-vfx-spin 2s linear infinite}.goat-vfx-grave-seal>i:nth-child(2){inset:41px;border-style:solid;border-color:var(--goat-v4);animation-direction:reverse;animation-duration:1.2s}.goat-vfx-grave-seal>b{position:absolute;inset:0;display:grid;place-items:center;color:var(--goat-v4);font:900 60px Georgia;text-shadow:0 0 9px #fff,0 0 28px var(--goat-v1)}.goat-vfx-grave-seal>em{position:absolute;inset:-26px;border:1px solid var(--goat-v1);border-radius:46%;animation:goat-vfx-spin 4s linear infinite}.goat-vfx-grave-seal>u{position:absolute;left:50%;top:50%;width:2px;height:118px;background:linear-gradient(var(--goat-v2),transparent);box-shadow:0 0 8px var(--goat-v1);transform-origin:0 0;rotate:calc(var(--i)*45deg);clip-path:polygon(0 0,100% 0,100% 58%,500% 70%,100% 73%,100% 100%,0 100%)}
.goat-vfx-soul-column{z-index:4;width:170px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--goat-v3) 40%,transparent),color-mix(in srgb,var(--goat-v2) 60%,transparent),color-mix(in srgb,var(--goat-v3) 40%,transparent),transparent);filter:drop-shadow(0 0 22px var(--goat-v1));transform:translateX(-50%)}.goat-vfx-soul-column i,.goat-vfx-soul-column b,.goat-vfx-soul-column em{position:absolute;left:18%;right:18%;height:62%;bottom:0;border-radius:50% 50% 22% 22%;background:linear-gradient(transparent,var(--goat-v1));filter:blur(5px);clip-path:polygon(50% 0,72% 20%,68% 43%,89% 100%,10% 100%,33% 43%,29% 20%)}.goat-vfx-soul-column b{left:2%;right:58%;height:48%;opacity:.72}.goat-vfx-soul-column em{left:61%;right:0;height:42%;opacity:.62}
.goat-vfx-sacrifice{z-index:6;width:190px;height:190px;border:2px solid var(--goat-blood);border-radius:50%;background:conic-gradient(from 20deg,transparent,var(--goat-blood),transparent 28%,var(--goat-v1),transparent 64%,var(--goat-blood),transparent);box-shadow:0 0 35px color-mix(in srgb,var(--goat-blood) 65%,transparent),inset 0 0 45px color-mix(in srgb,var(--goat-blood) 28%,transparent)}.goat-vfx-sacrifice i{position:absolute;inset:16px;border:2px dashed var(--goat-v2);border-radius:50%;animation:goat-vfx-spin 1.8s linear infinite}.goat-vfx-sacrifice i:nth-child(2){inset:38px;border-color:var(--goat-blood);animation-direction:reverse}.goat-vfx-sacrifice b{position:absolute;inset:0;display:grid;place-items:center;color:var(--goat-blood);font:900 52px Georgia;text-shadow:0 0 14px var(--goat-blood)}.goat-vfx-sacrifice em{position:absolute;inset:-24px;border:2px dotted var(--goat-v1);border-radius:46%;animation:goat-vfx-spin 3.5s linear infinite}
.goat-vfx-life-tether{z-index:4;height:8px;border-block:1px solid var(--goat-v2);background:linear-gradient(90deg,var(--goat-blood),var(--goat-v1),var(--goat-v4));box-shadow:0 0 10px var(--goat-v1),0 0 28px var(--goat-v3);transform-origin:left center}.goat-vfx-life-tether i,.goat-vfx-life-tether b,.goat-vfx-life-tether em{position:absolute;left:0;right:0;height:18px;top:-6px;background:linear-gradient(90deg,transparent,var(--goat-v2),transparent);filter:blur(5px);animation:goat-vfx-tether 1s linear infinite}.goat-vfx-life-tether b{animation-delay:-.33s}.goat-vfx-life-tether em{animation-delay:-.66s}
.goat-vfx-life-shard{z-index:7;width:15px;height:15px;border:2px solid var(--goat-v4);background:var(--goat-blood);box-shadow:0 0 12px var(--goat-blood);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.goat-vfx-life-shard.is-1{background:var(--goat-v1);box-shadow:0 0 12px var(--goat-v1)}.goat-vfx-life-shard.is-2{background:var(--goat-v2);box-shadow:0 0 12px var(--goat-v2)}
.goat-vfx-revival-rite{z-index:5;width:270px;height:270px;border:3px solid var(--goat-v2);border-radius:50%;background:repeating-conic-gradient(transparent 0 13deg,color-mix(in srgb,var(--goat-v1) 62%,transparent) 14deg 17deg,transparent 18deg 36deg),radial-gradient(circle,transparent 25%,color-mix(in srgb,var(--goat-v3) 50%,transparent) 27% 52%,transparent 54%);box-shadow:0 0 22px var(--goat-v1),0 0 70px var(--goat-v3),inset 0 0 38px var(--goat-v1)}.goat-vfx-revival-rite>i{position:absolute;inset:20px;border:2px dashed var(--goat-v1);border-radius:50%;animation:goat-vfx-spin 3s linear infinite}.goat-vfx-revival-rite>i:nth-child(2){inset:52px;border-color:var(--goat-v4);animation-direction:reverse;animation-duration:1.7s}.goat-vfx-revival-rite>b{position:absolute;inset:-20px;border:1px solid var(--goat-blood);border-radius:45%;animation:goat-vfx-spin 5s linear infinite}.goat-vfx-revival-rite>em{position:absolute;inset:0;display:grid;place-items:center;color:var(--goat-v4);font:900 70px Georgia;text-shadow:0 0 11px #fff,0 0 30px var(--goat-v1)}.goat-vfx-revival-rite>u{position:absolute;left:50%;top:50%;width:10px;height:38px;border:2px solid var(--goat-v2);background:var(--goat-v3);box-shadow:0 0 12px var(--goat-v1);transform-origin:5px 135px;rotate:calc(var(--i)*36deg);translate:-5px -135px;clip-path:polygon(50% 0,100% 25%,78% 100%,22% 100%,0 25%)}
.goat-vfx-apparition{z-index:6;width:120px;height:230px;filter:drop-shadow(0 0 12px var(--goat-v2)) drop-shadow(0 0 32px var(--goat-v1));transform:translateX(-50%)}.goat-vfx-apparition i{position:absolute;left:30px;top:0;width:60px;height:72px;border:3px solid var(--goat-v2);border-bottom-color:transparent;border-radius:52% 48% 45% 55%;background:radial-gradient(circle at 36% 48%,var(--goat-v4) 0 3px,transparent 4px),radial-gradient(circle at 64% 48%,var(--goat-v4) 0 3px,transparent 4px),color-mix(in srgb,var(--goat-v3) 72%,transparent)}.goat-vfx-apparition i:after{content:"";position:absolute;left:24px;top:52px;width:9px;height:15px;border:2px solid var(--goat-v2);border-radius:50%}.goat-vfx-apparition b{position:absolute;left:15px;top:58px;width:90px;height:130px;border:3px solid var(--goat-v1);border-bottom:0;border-radius:48% 52% 12% 12%;background:linear-gradient(color-mix(in srgb,var(--goat-v1) 55%,transparent),transparent);clip-path:polygon(50% 0,87% 18%,100% 100%,72% 83%,55% 100%,35% 82%,0 100%,13% 18%)}.goat-vfx-apparition em,.goat-vfx-apparition u{position:absolute;left:-7px;top:74px;width:52px;height:8px;border-radius:8px;background:var(--goat-v2);box-shadow:0 0 10px var(--goat-v1);rotate:25deg}.goat-vfx-apparition u{left:76px;rotate:-25deg}
.goat-vfx-stage[data-goat-theme="kokorszaki"] :is(.goat-vfx-caster-crown,.goat-vfx-grave-seal,.goat-vfx-sacrifice,.goat-vfx-revival-rite,.goat-vfx-bone-mark){border-radius:42% 58% 45% 55%;border-style:dashed}.goat-vfx-stage[data-goat-theme="kokorszaki"] .goat-vfx-electric-stream{clip-path:polygon(0 43%,6% 3%,14% 72%,23% 10%,31% 91%,40% 18%,50% 78%,61% 4%,70% 84%,80% 20%,89% 94%,100% 47%,91% 71%,82% 46%,72% 98%,62% 34%,52% 92%,41% 42%,31% 100%,21% 39%,12% 89%,5% 62%,0 57%)}
.goat-vfx-stage[data-goat-theme="mesekonyv"] :is(.goat-vfx-caster-crown,.goat-vfx-grave-seal,.goat-vfx-sacrifice,.goat-vfx-revival-rite,.goat-vfx-bone-mark){border-radius:18%;rotate:45deg}.goat-vfx-stage[data-goat-theme="mesekonyv"] :is(.goat-vfx-caster-crown,.goat-vfx-grave-seal,.goat-vfx-sacrifice,.goat-vfx-revival-rite,.goat-vfx-bone-mark)>:is(b,em,img){rotate:-45deg}.goat-vfx-stage[data-goat-theme="mesekonyv"] .goat-vfx-electric-stream{background:linear-gradient(90deg,transparent 0 2%,var(--goat-v3) 7%,var(--goat-v2) 31%,var(--goat-v4) 50%,var(--goat-v2) 72%,var(--goat-v1) 91%,transparent)}
@keyframes goat-vfx-spin{to{transform:rotate(360deg)}}@keyframes goat-vfx-tether{from{transform:translateX(-35%) scaleX(.12)}to{transform:translateX(100%) scaleX(.12)}}
.goat-vfx-ally-blessing{z-index:5;border:2px solid #d3a0ff;box-shadow:0 0 24px #bc65ff,0 0 65px #922aff80,inset 0 0 35px #a64bff70;isolation:isolate}
.goat-vfx-ally-blessing__veil{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 90%,#c984ff65,transparent 64%),linear-gradient(90deg,#a442ff55,transparent 23% 77%,#a442ff55)}
.goat-vfx-ally-blessing__rise{position:absolute;inset:-25% -15%;background:linear-gradient(90deg,transparent 8%,#b661ff40 20%,transparent 30%,#dfb5ff60 49%,transparent 65%,#b661ff40 80%,transparent 92%);mask-image:linear-gradient(transparent,#000 35% 65%,transparent);filter:blur(9px)}
.goat-vfx-ally-blessing__ring{position:absolute;left:-18%;bottom:2%;width:136%;height:24%;border:3px solid #dcb5ff;border-radius:50%;box-shadow:0 0 14px #b35aff,inset 0 0 14px #b35aff;transform:rotate(-12deg);animation:goatAllyHalo 1.8s ease-in-out infinite alternate}
.goat-vfx-ally-blessing__ring.is-high{bottom:68%;border-width:2px;border-color:var(--goat-v2);animation-direction:alternate-reverse}
.goat-vfx-ally-soul{z-index:10;width:5px;height:21px;border-radius:50%;background:var(--soul-accent);box-shadow:0 0 8px #fff,0 0 20px #ae54ff;filter:drop-shadow(0 0 4px #b86aff)}
@keyframes goatAllyHalo{from{transform:translateY(14px) rotate(-12deg) scale(.88)}to{transform:translateY(-18px) rotate(12deg) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.goat-vfx-stage *{animation-duration:.2s!important;animation-iteration-count:1!important}.goat-vfx-ally-blessing__ring{animation:none!important}}
