/* Only Battle V3 and the Codex load this star polish layer. */
.laguna-armored-star { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px currentColor); }
.laguna-star-projectile.is-arc-volley .laguna-star-projectile__blade,
.laguna-star-card-shower > i,
.v3-laguna-volley-impact > i { background: none; clip-path: none; overflow: visible; }
.laguna-star-projectile.is-arc-volley .laguna-star-projectile__blade::after { display: none; }
.laguna-star-projectile.is-arc-volley .laguna-star-projectile__blade { filter: drop-shadow(0 0 9px var(--laguna-blade-color)); color: var(--laguna-blade-color); }
.laguna-star-card-shower > i { color: var(--laguna-shower-color); }
.v3-laguna-volley-impact > i { color: var(--laguna-hit-color); }
.laguna-star-projectile.is-arc-volley .laguna-star-projectile__trail { height: 10px; opacity: .95; }
.laguna-skin-impact { position: absolute; inset: 0; z-index: 948; border-radius: inherit; pointer-events: none; overflow: visible; animation: lagunaSkinField 1.55s ease-out both; }
.laguna-skin-impact__frame { position: absolute; inset: 1px; border: 3px solid var(--laguna-rim); border-radius: inherit; background: radial-gradient(ellipse, color-mix(in srgb, var(--laguna-skin-glow) 32%, transparent), transparent 68%); box-shadow: 0 0 16px var(--laguna-skin-glow), inset 0 0 28px var(--laguna-skin-glow); animation: lagunaSkinFrame 1.1s ease-out both; }
.laguna-skin-impact__ring { position: absolute; left: 50%; top: 45%; width: 90px; height: 90px; margin: -45px; border: 5px solid var(--laguna-rim); border-radius: 50%; box-shadow: 0 0 15px var(--laguna-skin-glow); animation: lagunaSkinRing 1.2s ease-out both; }
.laguna-skin-impact__ring.is-late { border: 3px dashed var(--laguna-skin-glow); animation-delay: .14s; }
.laguna-skin-impact__crest { position: absolute; left: 50%; top: 45%; width: 88%; max-width: 240px; aspect-ratio: 12 / 13; translate: -50% -50%; color: var(--laguna-skin-glow); filter: drop-shadow(0 0 6px var(--laguna-skin-glow)); animation: lagunaSkinCrest 1.35s cubic-bezier(.16,.8,.2,1) both; }
.laguna-skin-crest { display: block; width: 100%; height: 100%; overflow: visible; }
.laguna-skin-impact__shard { position: absolute; left: 50%; top: 45%; width: 34px; height: 34px; margin: -17px; color: var(--laguna-skin-glow); animation: lagunaSkinShard 1s ease-out var(--laguna-shard-delay) both; }
.laguna-skin-impact.is-academy .laguna-skin-impact__ring { border-radius: 48% 48% 18% 18%; }
.laguna-skin-impact.is-storybook .laguna-skin-impact__frame { border-style: double; border-width: 6px; }
.laguna-skin-impact.is-star .laguna-skin-impact__ring.is-late { border-style: dotted; }
@keyframes lagunaSkinField { 0% { opacity: 0; } 10%, 70% { opacity: 1; } 100% { opacity: 0; } }
@keyframes lagunaSkinFrame { 0% { opacity: 0; } 12%, 45% { opacity: 1; } 100% { opacity: 0; } }
@keyframes lagunaSkinRing { 0% { opacity: 0; transform: scale(.15) rotate(-30deg); } 22% { opacity: 1; } 100% { opacity: 0; transform: scale(3.1) rotate(80deg); } }
@keyframes lagunaSkinCrest { 0% { opacity: 0; transform: scale(1.8) rotate(-15deg); } 25%, 65% { opacity: 1; transform: scale(1) rotate(0); } 100% { opacity: 0; transform: scale(1.12) rotate(8deg); } }
@keyframes lagunaSkinShard { 0% { opacity: 0; transform: scale(.2) rotate(var(--laguna-shard-angle)); } 18% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--laguna-shard-x), var(--laguna-shard-y)) scale(.65) rotate(calc(var(--laguna-shard-angle) + 140deg)); } }
@media (prefers-reduced-motion: reduce) {
    .laguna-skin-impact { animation-duration: .35s; }
    .laguna-skin-impact > span { animation: none; }
    .laguna-skin-impact__shard { display: none; }
    .laguna-armored-star, .laguna-skin-impact__crest { filter: none; }
}
