.inheritance-soul{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.soul-ribbon{position:absolute;inset:0;overflow:visible}.soul-ribbon path{fill:none;stroke:#b9faff;stroke-width:4;stroke-linecap:round;stroke-dasharray:20 600;filter:drop-shadow(0 0 7px #69ddff);animation:soul-ribbon-flight 1.6s ease-in-out both}.soul-orb{position:absolute;left:0;top:0;width:13px;height:13px;border-radius:50%;background:#fff5c4;box-shadow:0 0 10px #fff,0 0 26px #6ce6ff;offset-anchor:center;offset-distance:0%;animation:soul-flight 1.45s cubic-bezier(.2,.7,.25,1) both}.soul-crown-ring{position:absolute;border:3px solid #a9f5ff;border-radius:50%;box-shadow:0 0 24px #8fddff,inset 0 0 13px #ffe4aa;transform:translate(-50%,-50%) scale(.65);opacity:0;animation:soul-arrival 1.7s .75s ease-out both}.kid-thunder{position:absolute;overflow:visible;opacity:0;animation:kid-thunder 1.1s 1.1s ease-out both}.kid-thunder path{fill:none;stroke:#d8faff;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 0 6px #58b6ff)}@keyframes soul-flight{0%{offset-distance:0%;opacity:0;scale:.4}12%{opacity:1;scale:1}82%{opacity:1}100%{offset-distance:100%;opacity:0;scale:.2}}@keyframes soul-ribbon-flight{0%{stroke-dashoffset:0;opacity:0}30%{opacity:.65}100%{stroke-dashoffset:-650;opacity:0}}@keyframes soul-arrival{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}25%{opacity:.85}100%{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}@keyframes kid-thunder{0%{opacity:0}20%,50%{opacity:.9}35%{opacity:.2}100%{opacity:0}}.inheritance-soul.still .soul-ribbon,.inheritance-soul.still .kid-thunder{display:none}.inheritance-soul.still .soul-crown-ring{animation:soul-arrival 1.5s ease-out}
.capture-magic{position:fixed;z-index:52;pointer-events:none;width:0;height:0;perspective:500px}.capture-rune,.capture-wave{position:absolute;width:var(--burst-size);height:var(--burst-size);left:0;top:0;border:3px solid #ffe6a3;border-radius:25%;transform:translate(-50%,-50%) rotateX(50deg);box-shadow:0 0 14px #f7ca6380;animation:rune-impact .85s ease-out both}.capture-wave{border-radius:50%;border-color:#9cf1ff;animation-delay:.1s}.capture-magic>i{position:absolute;width:9px;height:14px;background:linear-gradient(140deg,#fff7cf,#ffcb57 55%,#6e98ff);border:1px solid #ffeab0;box-shadow:0 0 9px #ffe49b;transform-origin:center;animation:capture-shard .85s ease-out both;--angle:calc(var(--ray)*40deg)}@keyframes rune-impact{0%{opacity:0;transform:translate(-50%,-50%) rotateX(50deg) scale(.25)}20%{opacity:.75}100%{opacity:0;transform:translate(-50%,-50%) rotateX(50deg) scale(1.5)}}@keyframes capture-shard{0%{opacity:0;transform:rotate(var(--angle)) translateX(0) rotateY(0)}15%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--burst-size)*.7)) rotateY(180deg) scale(.3)}}
.royal-opening{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#254e7bef,#071930f5);color:#ffe6ad;overflow:hidden;animation:opening-fade 1.8s ease both}.royal-opening>img{width:clamp(140px,18vw,230px);height:auto;border-radius:24%;box-shadow:0 0 70px #76b9ff5e;animation:opening-crown 1.3s cubic-bezier(.2,.8,.2,1) both}.royal-opening>strong{font:700 clamp(28px,4vw,54px) Georgia,serif;letter-spacing:4px;margin-top:24px;text-shadow:0 4px 18px #010e29}.royal-opening>p{font-size:13px;letter-spacing:1px;color:#c0dded}.opening-halo{position:absolute;width:70vmin;height:70vmin;border:1px solid #ccecff44;border-radius:50%;box-shadow:0 0 80px #5db6f04d,inset 0 0 50px #7dbbef22;transform:rotateX(35deg);animation:opening-halo 1.5s ease both}.opening-stars{font-size:40px;letter-spacing:40px;color:#ffe4a7;position:absolute;top:20%}.royal-opening>button{position:absolute;bottom:35px;border:1px solid #abcde155;border-radius:10px;background:#153550;color:#c8dfed;padding:9px 18px;font-size:12px}@keyframes opening-crown{from{opacity:0;transform:perspective(700px) rotateY(-18deg) translateY(30px) scale(.75)}to{opacity:1;transform:perspective(700px) rotateY(0) translateY(0) scale(1)}}@keyframes opening-halo{from{opacity:0;scale:.5}to{opacity:1;scale:1.3}}@keyframes opening-fade{0%{opacity:0}12%,78%{opacity:1}100%{opacity:0;pointer-events:none}}@media(prefers-reduced-motion:reduce){.royal-opening,.capture-magic,.soul-orb,.soul-ribbon,.kid-thunder{display:none!important}}
