/* pvp-fx.css — 5.5: эффекты боя (pvp-fx.js). Только transform / opacity в анимациях */
.pfx-layer{ position:absolute; inset:0; pointer-events:none; z-index:30; overflow:hidden; }
.pfx{ position:absolute; will-change:transform, opacity; pointer-events:none; }
.pfx-flash{ position:absolute; inset:0; pointer-events:none; z-index:60; background:#fff; opacity:0; }
.pfx-vig{ position:absolute; inset:0; pointer-events:none; z-index:59; opacity:0; background:radial-gradient(ellipse at 50% 55%, transparent 50%, rgba(200,20,40,.6)); }

/* карточки ходов при вскрытии: тёмные, иконка хода плиткой, рамка цвета хода */
.pfx-rv{ width:70px; height:92px; perspective:700px; z-index:4; }
.pfx-rv .in{ position:absolute; inset:0; transform-style:preserve-3d; }
.pfx-rv .b, .pfx-rv .f{ position:absolute; inset:0; border-radius:14px; backface-visibility:hidden; -webkit-backface-visibility:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.pfx-rv .b{ background:radial-gradient(circle at 50% 40%, #2c3566, #161b38 70%); box-shadow:inset 0 0 0 2px rgba(255,255,255,.14), 0 8px 18px rgba(0,0,0,.45); }
.pfx-rv .b img{ width:34px; height:34px; opacity:.35; }
.pfx-rv.me .b{ box-shadow:inset 0 0 0 2px rgba(120,170,255,.4), 0 8px 18px rgba(0,0,0,.45); }
.pfx-rv.en .b{ box-shadow:inset 0 0 0 2px rgba(255,120,120,.35), 0 8px 18px rgba(0,0,0,.45); }
.pfx-rv .f{ transform:rotateY(180deg); background:linear-gradient(180deg, #1e2547, #141933); box-shadow:inset 0 0 0 2px var(--c), 0 0 22px var(--g), 0 8px 18px rgba(0,0,0,.45); }
.pfx-rv .f img{ width:52px; height:52px; border-radius:12px; }
.pfx-rv .f small{ font-size:11px; font-weight:900; color:var(--c); white-space:nowrap; }
.pfx-rv[data-k=U]{ --c:#ff7b6b; --g:rgba(255,90,70,.45); } .pfx-rv[data-k=D]{ --c:#7cb8ff; --g:rgba(80,150,255,.45); }
.pfx-rv[data-k=E]{ --c:#7ee08a; --g:rgba(80,220,110,.4); } .pfx-rv[data-k=X]{ --c:#c4b5fd; --g:rgba(170,140,255,.4); }
.pfx-vs{ z-index:3; font-weight:900; font-size:13px; color:#a9adc9; letter-spacing:.06em; }

/* цифры урона / лечения */
.pfx-num{ z-index:6; font-weight:900; font-size:44px; line-height:1; color:#fff; white-space:nowrap; transform:translate(-50%,-50%);
  text-shadow:0 2px 0 #1a1020, 0 -2px 0 #1a1020, 2px 0 0 #1a1020, -2px 0 0 #1a1020, 0 5px 10px rgba(0,0,0,.6); }
.pfx-num.me{ color:#ff6b6b; } .pfx-num.heal{ color:#7ef0a0; } .pfx-num.big{ font-size:60px; } .pfx-num.sm{ font-size:30px; }

/* ролик способности */
.pfx-cine{ position:absolute; inset:0; z-index:50; pointer-events:none; opacity:0; overflow:hidden; }
.pfx-cine .bd{ position:absolute; inset:0; background:radial-gradient(90% 60% at 50% 42%, var(--t1), rgba(6,8,20,.94) 70%); }
.pfx-cine .rays{ position:absolute; left:50%; top:40%; width:820px; height:820px; margin:-410px 0 0 -410px; border-radius:50%; opacity:.55;
  background:repeating-conic-gradient(var(--t2) 0 6deg, transparent 6deg 15deg);
  -webkit-mask:radial-gradient(circle, #000 8%, transparent 58%); mask:radial-gradient(circle, #000 8%, transparent 58%); }
.pfx-cine .halo{ position:absolute; left:50%; top:40%; width:300px; height:300px; margin:-150px 0 0 -150px; border-radius:50%; background:radial-gradient(circle, var(--t3), transparent 65%); }
.pfx-cine .who{ position:absolute; left:50%; top:40%; width:240px; height:240px; margin:-120px 0 0 -120px; object-fit:contain; }
.pfx-cine .lbl{ position:absolute; left:0; right:0; top:61%; text-align:center; font-weight:900; font-size:11px; letter-spacing:.32em; color:var(--t4); text-transform:uppercase; }
.pfx-cine .ttl{ position:absolute; left:12px; right:12px; top:64%; text-align:center; font-weight:900; font-size:36px; line-height:1.05; color:#fff; text-transform:uppercase;
  text-shadow:0 0 18px var(--t3), 0 3px 0 rgba(0,0,0,.5); }
.pfx-cine .sub{ position:absolute; left:24px; right:24px; top:74%; text-align:center; font-weight:800; font-size:14px; color:#e5e7f5; }

/* огонь, паутина, оглушение, метка — внутри обёртки карточки (.pv-cw), двигаются вместе с ней */
.pfx-fire{ position:absolute; inset:0; overflow:hidden; z-index:5; pointer-events:none; }
.pfx-fire .glow{ position:absolute; inset:0; background:linear-gradient(to top, rgba(200,15,30,.55), rgba(200,15,30,.12) 45%, transparent 65%); }
.pfx-net{ position:absolute; left:2%; right:2%; top:50%; aspect-ratio:1; transform:translateY(-50%); z-index:6; pointer-events:none; } /* паутина целиком на карточке, края не обрезаны */
.pfx-net svg{ width:100%; height:100%; display:block; }
.pfx-stun{ position:absolute; inset:0; z-index:7; pointer-events:none; }
.pfx-stun .dim{ position:absolute; inset:0; border-radius:calc(var(--cw, 140px) * .1); background:rgba(14,16,40,.38); } /* оглушён — карточка темнее */
.pfx-stun .orb{ position:absolute; left:50%; top:9%; width:0; height:0; } /* центр эллипса — над головой голубя */
.pfx-stun .orb b{ position:absolute; left:-9px; top:-9px; width:18px; height:18px; display:block; }
.pfx-stun .orb svg{ width:100%; height:100%; display:block; }
.pfx-mark{ position:absolute; inset:0; z-index:7; pointer-events:none; }
.pfx-mark .ring{ position:absolute; inset:0; border-radius:calc(var(--cw, 140px) * .1); box-shadow:inset 0 0 0 3px #ff4d5e, 0 0 18px rgba(255,60,80,.75); animation:pfx-pulse 1s ease-in-out infinite alternate; }
.pfx-mark b{ position:absolute; right:6px; top:6px; padding:3px 9px; border-radius:999px; background:#e11d48; color:#fff; font-weight:900; font-size:14px; line-height:1.2; box-shadow:0 2px 8px rgba(0,0,0,.45), inset 0 0 0 2px rgba(255,255,255,.35); }
@keyframes pfx-pulse{ from{ opacity:.55; } to{ opacity:1; } }
body.less-motion .pfx-mark .ring{ animation:none; }
.pfx-rv[data-k=A]{ --c:#c4b5fd; --g:rgba(170,140,255,.4); }
/* огонь Lottie (assets/fx/fire.json): квадрат по ширине карточки, пламя — нижняя половина файла */
.pfx-lot{ position:absolute; left:-14%; right:-14%; bottom:0; aspect-ratio:1; pointer-events:none; } /* пламя — нижняя половина квадратного файла: целиком видно от основания, не растягиваем */
.pfx-lot canvas{ width:100% !important; height:100% !important; display:block; }
.pfx-tag{ z-index:8; display:inline-flex; align-items:center; gap:4px; padding:4px 9px; border-radius:999px; white-space:nowrap;
  background:rgba(12,14,32,.82); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18); color:#fff; font-weight:900; font-size:13px; line-height:1; }
.pfx-tag .pv-star{ width:16px; height:16px; margin:0; vertical-align:0; }
.pfx-tag.no{ color:#a9adc9; } .pfx-tag.no .pv-star{ opacity:.5; }
.pfx-num.burn{ color:#ff8a5c; }
