/* 0.30: rift auras and target previews. These decorate figures, never their hit areas. */
.elite-map-aura{position:absolute;left:50%;bottom:calc(-12px * var(--actor-scale,1));width:calc(112px * var(--actor-scale,1));height:calc(120px * var(--actor-scale,1));translate:-50% 0;pointer-events:none;background:url('/assets/art/combat-030/elite-rift.svg') center bottom/100% 100% no-repeat;filter:drop-shadow(0 0 6px #a967da88);animation:elite-rift-breathe 3.2s ease-in-out infinite}
#map .world-actor[data-elite="true"] canvas{position:relative;filter:drop-shadow(0 0 5px #cf9df8a0) drop-shadow(0 4px 3px #160a29bb)!important}
.world-actor[data-elite="true"] .actor-label{white-space:nowrap;font-size:9px;font-weight:750;letter-spacing:.8px;padding-inline:8px;background:linear-gradient(#30203d,#130e20);border-color:#d0a4ed;box-shadow:0 0 12px #aa6be272,0 2px 5px #000a}
@keyframes elite-rift-breathe{0%,100%{opacity:.65;scale:.97}50%{opacity:1;scale:1.03}}
.atb-battle .atb-actor.foe.affected:not(.fallen) .atb-ground{opacity:1;left:0;right:0;bottom:43px;height:43px;background:transparent url('/assets/art/combat-030/target-area.svg') center/100% 100% no-repeat;border:0;box-shadow:none;filter:drop-shadow(0 0 5px #97dfff88);animation:area-rune-breathe 1.8s ease-in-out infinite;z-index:1}
.atb-battle .atb-actor.foe.affected:not(.fallen) .target-rift img{opacity:1;filter:drop-shadow(0 0 5px #9be6ff)}
.atb-battle .atb-actor.foe.affected .actor-name{color:#d5f4ff;text-shadow:0 0 8px #8ce2ee66,0 1px 4px #000}
.atb-stage[data-target-tone="blood"] .atb-actor.foe.affected:not(.fallen) .atb-ground,.atb-stage[data-target-tone="blood"] .atb-actor.foe.affected:not(.fallen) .target-rift img{filter:hue-rotate(150deg) saturate(1.6) drop-shadow(0 0 5px #ff688477)}
.atb-stage[data-target-tone="blood"] .atb-actor.foe.affected .actor-name{color:#ffd3dd;text-shadow:0 0 9px #dc557b99,0 1px 4px #000}
.atb-stage[data-aiming="true"] .atb-actor.foe:not(.affected) .atb-ground,.atb-stage[data-aiming="true"] .atb-actor.foe:not(.affected) .target-rift img{opacity:0;animation:none}
.atb-stage[data-aiming="true"] .atb-callout{font-size:12px;color:#d8f1ff}
.atb-stage[data-target-tone="blood"][data-aiming="true"] .atb-callout{color:#ffd1de}
@keyframes area-rune-breathe{0%,100%{opacity:.76}50%{opacity:1}}
.combat-impact[data-effect="blood"]{--impact-color:#ff6c94}
.combat-impact[data-effect="blood"] .impact-cut{rotate:-24deg;height:35%;border-top-width:5px;box-shadow:0 -4px 8px #e43e68}
.combat-sweep{position:absolute;inset:0;width:100%;height:100%;z-index:14;pointer-events:none;overflow:visible}
.combat-sweep path{fill:none;stroke-linecap:round}.sweep-glow{stroke:#e84e7d;stroke-width:9;filter:blur(3px)}.sweep-edge{stroke:#ffcfdb;stroke-width:2.5}
.combat-sweep.reduced .sweep-glow{display:none}
.ward-effect{position:absolute;left:7%;right:7%;top:5%;bottom:47px;opacity:0;pointer-events:none;border:1px solid #bcb1ff88;border-radius:44% 44% 48% 48%;background:radial-gradient(ellipse at 50% 40%,transparent 30%,#796ad912 55%,#b6a4f633 80%,#e1d4ff88);box-shadow:inset 0 0 12px #aa8deb44,0 0 12px #9d7def55;z-index:2;transition:opacity .25s}
.ward-effect::after{content:'';position:absolute;inset:12% 9%;border:1px solid #c2b7f044;border-radius:45% 45% 48% 48%;clip-path:polygon(0 0,30% 0,50% 35%,70% 0,100% 0,100% 100%,70% 100%,50% 65%,30% 100%,0 100%)}
.warded:not(.fallen) .ward-effect{opacity:1;animation:ward-breathe 2.7s ease-in-out infinite}
@keyframes ward-breathe{50%{opacity:.65}}
.atb-enemies.staggered .atb-actor.foe.affected:not(.fallen) .atb-ground{bottom:37px;height:29px}
@media(prefers-reduced-motion:reduce){.elite-map-aura,.atb-battle .atb-actor.foe.affected:not(.fallen) .atb-ground,.warded:not(.fallen) .ward-effect{animation:none;opacity:.95}}
.world-actors[data-motion="reduced"] .elite-map-aura{animation:none;opacity:.9}
