.phoris-combat-canvas { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:120; }
.phoris-lava-field { position:fixed; pointer-events:none; z-index:9; overflow:hidden; border-radius:24px; isolation:isolate; }
.phoris-lava-bed { position:absolute; inset:35% 0 0; background:radial-gradient(ellipse at 50% 100%,#ffb33077,transparent 65%),repeating-conic-gradient(from 14deg at 50% 100%,#13070900 0deg 17deg,#ff451a44 18deg 20deg,#18080800 21deg 38deg); mask-image:linear-gradient(transparent,#000 70%); animation:phoris-lava-breathe 3s ease-in-out infinite; }
.phoris-lava-field>svg { position:absolute; inset:40% 0 0; width:100%; height:60%; overflow:visible; }
.phoris-lava-field>svg path { fill:none; stroke:#ff9a35; stroke-width:4; stroke-linejoin:round; filter:drop-shadow(0 0 4px #ff310b) drop-shadow(0 0 9px #ff642b); animation:phoris-crack-pulse 2.8s ease-in-out infinite; }
.phoris-field-flames { position:absolute; inset:0; }
.phoris-field-flames i { position:absolute; left:var(--x); bottom:0; width:24px; height:var(--height); border-radius:75% 25% 50% 50%; background:linear-gradient(0deg,#ffe299dd,#ff541888 45%,#ff291000); transform-origin:50% 100%; animation:phoris-field-flame 2.7s ease-in-out var(--delay) infinite; }
.phoris-card-seal { position:absolute; inset:0; z-index:6; border-radius:inherit; overflow:hidden; pointer-events:none; }
.phoris-card-scorch { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 100%,#ff4a2a44,transparent 65%),linear-gradient(90deg,#ff321833,transparent 22% 78%,#ff321833); box-shadow:inset 0 0 22px #ff431a77; animation:phoris-lava-breathe 3s ease-in-out infinite; }
.phoris-card-seal>svg { position:absolute; width:100%; height:100%; inset:0; overflow:visible; }
.phoris-card-seal path { fill:none; stroke:#ff963c; stroke-width:2; filter:drop-shadow(0 0 3px #ff3218); vector-effect:non-scaling-stroke; }
.phoris-card-seal .phoris-seal-frame { stroke:#ffc379; stroke-width:2.5; }
.phoris-card-seal .phoris-seal-cracks { animation:phoris-crack-pulse 3s ease-in-out infinite; }
.phoris-card-seal .phoris-seal-heart { fill:#5a090a22; stroke:#ffd6a0; stroke-width:2; transform-origin:100px 165px; animation:phoris-heart 2.2s ease-in-out infinite; opacity:.65; }
.phoris-card-embers { position:absolute; inset:0; }
.phoris-card-embers i { position:absolute; left:var(--x); bottom:-6px; width:3px; height:7px; border-radius:50%; background:#ffce76; box-shadow:0 0 5px #ff3218; opacity:0; animation:phoris-ember 3.7s linear var(--delay) infinite; }
.phoris-hell-bound .hero-banner-wrapper { box-shadow:0 0 13px #ff3c1b55; }
@keyframes phoris-lava-breathe { 0%,100% { opacity:.55; } 50% { opacity:1; } }
@keyframes phoris-crack-pulse { 0%,100% { opacity:.4; } 50% { opacity:.95; } }
@keyframes phoris-field-flame { 0%,100% { transform:scale(.7,.55) rotate(-9deg); opacity:.35; } 50% { transform:scale(1,1.1) rotate(12deg); opacity:.85; } }
@keyframes phoris-heart { 0%,100% { transform:scale(.95); opacity:.4; } 45% { transform:scale(1.05); opacity:.8; } 60% { transform:scale(1); opacity:.65; } }
@keyframes phoris-ember { 0% { transform:translate(0,0); opacity:0; } 15% { opacity:.9; } 85% { opacity:.45; } 100% { transform:translate(var(--drift),-190px); opacity:0; } }
body.bf-vfx-suspended .phoris-lava-field *,body.bf-vfx-suspended .phoris-card-seal * { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { .phoris-lava-field *,.phoris-card-seal * { animation:none!important; } .phoris-card-embers { display:none; } }
