/* Shared palette for the cinematic and the surviving target frame. */
.goat-ultimate-stage,.goat-doom-frame{--gu-main:164 58 255;--gu-accent:191 115 255;--gu-light:225 170 255;--gu-pale:243 221 255;--gu-deep:107 15 189;--gu-shade:22 1 40}
:is(.goat-ultimate-stage,.goat-doom-frame)[data-skin=stone]{--gu-main:82 211 39;--gu-accent:155 239 94;--gu-light:199 255 162;--gu-pale:233 255 219;--gu-deep:29 108 19;--gu-shade:4 24 7}
:is(.goat-ultimate-stage,.goat-doom-frame)[data-skin=story]{--gu-main:155 214 255;--gu-accent:255 163 210;--gu-light:255 202 230;--gu-pale:232 248 255;--gu-deep:65 130 181;--gu-shade:10 24 40}
.goat-ultimate-stage{position:fixed;inset:0;z-index:2147481500;pointer-events:none;overflow:hidden;isolation:isolate}
.goat-ultimate-stage>span{position:absolute;box-sizing:border-box;pointer-events:none}
.goat-ultimate-veil{inset:0;background:radial-gradient(ellipse at center,rgb(var(--gu-shade) / 0.522),rgb(var(--gu-shade) / 0.910));z-index:0}
.goat-ultimate-ritual{z-index:1;width:min(560px,75vw);aspect-ratio:1;border:3px solid rgb(var(--gu-accent) / 1);border-radius:50%;background:repeating-conic-gradient(from 10deg,rgb(var(--gu-main) / 0.333) 0 2deg,transparent 3deg 20deg);box-shadow:0 0 60px rgb(var(--gu-main) / 0.439),inset 0 0 80px rgb(var(--gu-main) / 0.376)}
.goat-ultimate-ritual i,.goat-ultimate-ritual b,.goat-ultimate-ritual em{position:absolute;inset:6%;border:3px dashed rgb(var(--gu-accent));border-radius:50%;animation:goatUltOrbit 9s linear infinite}.goat-ultimate-ritual b{inset:17%;border:2px solid rgb(var(--gu-light) / 1);animation-direction:reverse}.goat-ultimate-ritual em{inset:27%;border-radius:15%;border:3px solid rgb(var(--gu-accent) / 1);animation-duration:6s}
.goat-ultimate-vortex{z-index:3;width:min(630px,85vw);aspect-ratio:1;filter:drop-shadow(0 0 20px rgb(var(--gu-main) / 1))}
.goat-ultimate-vortex i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0 12%,rgb(var(--gu-main) / 0.565) 19%,rgb(var(--gu-light) / 1) 23%,transparent 26% 48%,rgb(var(--gu-main) / 0.565) 57%,rgb(var(--gu-accent)) 61%,transparent 65% 85%,rgb(var(--gu-accent) / 0.502) 94%,transparent);mask-image:radial-gradient(transparent 0 43%,#000 49% 52%,transparent 59%);animation:goatUltOrbit 1.3s linear infinite}
.goat-ultimate-vortex i:nth-child(2){inset:10%;animation-direction:reverse;animation-duration:1.7s;transform:rotateX(45deg)}.goat-ultimate-vortex i:nth-child(3){inset:23%;animation-duration:.8s}
.goat-ultimate-infall{z-index:6;width:8px;height:28px;border-radius:50%;background:rgb(var(--gu-pale) / 1);box-shadow:0 0 13px rgb(var(--gu-accent) / 1),0 0 24px rgb(var(--gu-main) / 1)}
.goat-ultimate-chain-links{fill:rgb(var(--gu-shade) / 0.690);stroke:rgb(var(--gu-pale) / 1);stroke-width:2.4;filter:drop-shadow(0 0 5px rgb(var(--gu-main) / 1))}
.goat-ultimate-impact-star{z-index:9;width:min(620px,85vw);aspect-ratio:1;background:radial-gradient(circle,#fff 0 3%,rgb(var(--gu-light) / 1) 6%,rgb(var(--gu-main) / 0.565) 20%,transparent 55%),conic-gradient(transparent 0 8%,rgb(var(--gu-light) / 0.502) 9%,transparent 10% 24%,#fff6 25%,transparent 26% 49%,rgb(var(--gu-light) / 0.502) 50%,transparent 51% 74%,#fff6 75%,transparent 76%);filter:drop-shadow(0 0 25px rgb(var(--gu-main) / 1))}
.goat-ultimate-impact-shard{z-index:9;width:11px;height:37px;background:linear-gradient(#fff,rgb(var(--gu-accent)),rgb(var(--gu-deep) / 1));clip-path:polygon(50% 0,100% 35%,65% 100%,0 70%);filter:drop-shadow(0 0 5px rgb(var(--gu-accent) / 1))}
.goat-ultimate-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.goat-ultimate-skeleton{z-index:2;height:180px;filter:drop-shadow(0 0 12px rgb(var(--gu-main) / 1)) drop-shadow(0 15px 12px #000);transform:translate(-50%,-50%)}
.goat-ultimate-skeleton img{width:100%;height:100%;object-fit:contain}
.goat-ultimate-core{z-index:5;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#fff 0 5%,rgb(var(--gu-light) / 1) 10%,rgb(var(--gu-main) / 0.690) 27%,rgb(var(--gu-deep) / 0.376) 45%,transparent 68%);filter:drop-shadow(0 0 35px rgb(var(--gu-main) / 1))}
.goat-ultimate-core i{position:absolute;inset:0;border:5px solid rgb(var(--gu-accent) / 1);border-top-color:rgb(var(--gu-pale) / 1);border-bottom-color:transparent;border-radius:44% 56% 48% 52%;animation:goatUltOrbit .75s linear infinite;box-shadow:0 0 13px rgb(var(--gu-main) / 1),inset 0 0 12px rgb(var(--gu-main) / 1)}
.goat-ultimate-core i:nth-child(2){inset:-22px;border-width:3px;border-color:rgb(var(--gu-accent)) transparent rgb(var(--gu-accent) / 1);animation-direction:reverse;animation-duration:1.2s}
.goat-ultimate-core i:nth-child(3){inset:26px;border:4px dashed rgb(var(--gu-pale) / 1);animation-duration:.5s}
.goat-ultimate-core b{position:absolute;inset:45%;border-radius:50%;background:#fff;box-shadow:0 0 25px 20px rgb(var(--gu-light) / 1),0 0 75px 35px rgb(var(--gu-main) / 1)}
.goat-ultimate-chain{stroke:rgb(var(--gu-light) / 1);stroke-width:5;filter:drop-shadow(0 0 5px rgb(var(--gu-main) / 1))}
.goat-ultimate-orbit-bolt{stroke:rgb(var(--gu-light) / 1);stroke-width:4;filter:drop-shadow(0 0 7px rgb(var(--gu-main) / 1))}
.goat-ultimate-soul{z-index:6;width:52px;height:86px;border-radius:50% 50% 40% 40%;background:radial-gradient(ellipse at 50% 25%,#fff,rgb(var(--gu-light) / 1) 25%,rgb(var(--gu-main) / 0.565) 58%,transparent 73%);filter:drop-shadow(0 0 22px rgb(var(--gu-accent) / 1))}
.goat-ultimate-soul i,.goat-ultimate-soul b{position:absolute;top:14px;width:5px;height:7px;background:rgb(var(--gu-deep) / 1);border-radius:50%;left:10px}.goat-ultimate-soul b{left:23px}
.goat-ultimate-discharge-halo{stroke:rgb(var(--gu-accent) / 1);stroke-width:82;opacity:.3;filter:blur(13px)}
.goat-ultimate-discharge{stroke:rgb(var(--gu-main) / 1);stroke-width:25;filter:drop-shadow(0 0 14px rgb(var(--gu-accent) / 1))}
.goat-ultimate-discharge-core{stroke:rgb(var(--gu-pale) / 1);stroke-width:8;filter:drop-shadow(0 0 6px #fff)}
.goat-ultimate-burn{z-index:7;border-radius:18px;border:2px solid rgb(var(--gu-light) / 1);background:radial-gradient(ellipse at bottom,rgb(var(--gu-main) / 0.502),transparent 75%);box-shadow:0 0 35px rgb(var(--gu-main) / 1),inset 0 0 42px rgb(var(--gu-main) / 0.502)}
.goat-ultimate-burn i{position:absolute;inset:-15%;background:radial-gradient(ellipse,rgb(var(--gu-light) / 0.376),transparent 70%);filter:blur(14px)}
.goat-ultimate-burn b{position:absolute;left:var(--x);bottom:-5%;width:20%;height:65%;border-radius:70% 15% 55% 30%;background:linear-gradient(0deg,rgb(var(--gu-deep) / 1),rgb(var(--gu-accent) / 0.565) 43%,rgb(var(--gu-pale) / 1) 68%,transparent 95%);filter:blur(3px) drop-shadow(0 0 9px rgb(var(--gu-main) / 1));transform-origin:bottom;animation:goatUltFlame .65s var(--d) ease-in-out infinite alternate}
.goat-ultimate-shock{z-index:8;width:190px;height:190px;border:5px solid rgb(var(--gu-light) / 1);border-radius:50%;box-shadow:0 0 25px rgb(var(--gu-main) / 1),inset 0 0 20px rgb(var(--gu-main) / 1)}
.goat-doom-frame{position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;overflow:hidden;box-shadow:inset 0 0 9px rgb(var(--gu-main) / 0.251)}
.goat-doom-frame svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.goat-doom-frame path{fill:none;stroke:rgb(var(--gu-accent) / 1);stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-dasharray:9 7 2 20;opacity:.55;filter:drop-shadow(0 0 3px rgb(var(--gu-main) / 1));animation:goatDoomCrawl 3.8s linear infinite}
@keyframes goatUltOrbit{to{transform:rotate(360deg)}}
@keyframes goatUltFlame{from{transform:translateY(7%) skewX(-9deg) scaleY(.7);opacity:.5}to{transform:translateY(-20%) skewX(12deg) scaleY(1.15);opacity:.9}}
@keyframes goatDoomCrawl{to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.goat-ultimate-stage *,.goat-doom-frame path{animation:none!important}}
