.acid-skin-impact { position:absolute; inset:-8px; z-index:936; pointer-events:none; color:var(--acid-skin-rim); }
.acid-route-crest { position:absolute; left:50%; top:50%; width:100px; height:100px; transform:translate(-50%,-50%); overflow:visible; opacity:.9; filter:drop-shadow(0 0 6px var(--acid-vfx-c5)); }
.acid-seeing-crest { position:absolute; left:50%; top:50%; width:300px; height:300px; overflow:visible; filter:drop-shadow(0 0 8px var(--acid-vfx-c5)); animation:acid-skin-seal 2500ms ease-out both; }
.acid-skin-impact__frame { position:absolute; inset:5px; border:2px solid var(--acid-skin-rim); border-radius:18px; box-shadow:0 0 18px var(--acid-skin-glow),inset 0 0 25px var(--acid-skin-glow); animation:acid-skin-frame var(--acid-skin-life) ease-out both; }
.acid-skin-impact.is-kristaly .acid-skin-impact__frame { clip-path:polygon(10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%,0 10%); border-radius:0; background:linear-gradient(130deg,transparent 30%,#fff1fb88 46%,#ed83d766 51%,transparent 68%); }
.acid-skin-impact.is-remakademia .acid-skin-impact__frame { border-style:double; border-width:5px; background:radial-gradient(ellipse at 50% 90%,#8516c044,transparent 68%); }
.acid-skin-impact__crest { position:absolute; left:50%; top:50%; width:180px; height:180px; overflow:visible; filter:drop-shadow(0 0 5px var(--acid-skin-glow)); animation:acid-skin-crest var(--acid-skin-life) cubic-bezier(.16,.75,.25,1) both; }
.acid-skin-impact.is-seeing .acid-skin-impact__crest { width:220px; height:220px; animation-name:acid-skin-seal; }
.acid-skin-impact.is-return .acid-skin-impact__crest { width:130px; height:130px; }
.acid-skin-impact__wave { position:absolute; left:50%; top:50%; width:95px; height:95px; border:4px solid var(--acid-skin-rim); border-radius:50%; box-shadow:0 0 18px var(--acid-skin-glow); animation:acid-skin-wave 850ms ease-out both; }
.acid-skin-impact__particle { position:absolute; left:calc(50% - 22px); top:calc(50% - 24px); width:44px; height:48px; overflow:visible; filter:drop-shadow(0 0 7px var(--acid-skin-glow)); animation:acid-skin-shards calc(var(--acid-skin-life) - 180ms) ease-out var(--acid-motif-delay) both; }
@keyframes acid-skin-frame { 0% {opacity:0;transform:scale(.84)} 12% {opacity:1;transform:scale(1.04)} 28% {transform:scale(1)} 70% {opacity:.65} 100% {opacity:0;transform:scale(1.08)} }
@keyframes acid-skin-crest { 0% {opacity:0;transform:translate(-50%,-50%) scale(.18) rotate(-25deg)} 17% {opacity:1;transform:translate(-50%,-50%) scale(1.14) rotate(4deg)} 37% {transform:translate(-50%,-50%) scale(1) rotate(0deg)} 72% {opacity:.8} 100% {opacity:0;transform:translate(-50%,-50%) scale(1.28) rotate(15deg)} }
@keyframes acid-skin-seal { 0% {opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-60deg)} 20% {opacity:1} 75% {opacity:.85} 100% {opacity:0;transform:translate(-50%,-50%) scale(1.2) rotate(60deg)} }
@keyframes acid-skin-wave { 0% {opacity:0;transform:translate(-50%,-50%) scale(.15)} 15% {opacity:1} 100% {opacity:0;transform:translate(-50%,-50%) scale(2.6)} }
@keyframes acid-skin-shards { 0% {opacity:0;transform:translate(0,0) scale(.1) rotate(0deg)} 16% {opacity:1} 68% {opacity:.95} 100% {opacity:0;transform:translate(var(--acid-motif-x),var(--acid-motif-y)) scale(.7) rotate(var(--acid-motif-angle))} }
@media(prefers-reduced-motion:reduce) { .acid-skin-impact * {animation-duration:220ms!important;animation-delay:0ms!important} }
