/* Local, bounded accents; damage text and actor controls remain above them. */
.gear-vfx{--vfx-color:#f6dda2;position:absolute;left:50%;top:44%;width:156px;height:156px;margin:-78px;pointer-events:none;z-index:5;color:var(--vfx-color);transform:scale(var(--vfx-scale,1));animation:vfx-life var(--vfx-duration) linear both;isolation:isolate}
.vfx-natural-surface{position:absolute;left:-42px;top:-64px;width:240px;height:260px;pointer-events:none}
.vfx-fallback{position:absolute;inset:28%;background:radial-gradient(ellipse,var(--vfx-color),transparent 70%);opacity:.45}
/* The shared canvas now supplies the impact for every family. Keep result text,
   movement and timing, while suppressing duplicate rings and symbols. */
.combat-slash,.combat-magic-impact,.combat-support-impact,.combat-magic-projectile.combat-magic-lightning{display:none}
.combat-skill-cue{border:0!important;box-shadow:none!important;background:none!important}
.combat-skill-cue::before,.combat-skill-cue::after{display:none}
.combat-special-aura .special-ring,.combat-special-aura .special-rays{display:none}
.combat-special-aura .special-core{background:radial-gradient(ellipse,var(--cue-color) 4%,transparent 68%);opacity:.27}
@keyframes vfx-life{0%,100%{opacity:0}9%,68%{opacity:.9}}