/* ============================================================
   pkmn.css — mesa de batalha (modo Pokémon). Design original.
   ============================================================ */
.pk-mode #memory-gauge{display:none}

.pk-board{position:absolute;inset:0;display:flex;flex-direction:column;gap:4px;padding:8px 254px 6px 12px;
  background:
    radial-gradient(120% 80% at 50% 0,rgba(76,141,255,.10),transparent 60%),
    radial-gradient(120% 80% at 50% 100%,rgba(245,197,24,.10),transparent 60%),
    radial-gradient(80% 60% at 50% 50%,rgba(120,90,220,.06),transparent)}

/* faixas de jogador */
.pk-strip{display:flex;align-items:center;justify-content:space-between;padding:5px 14px;border-radius:11px;
  background:var(--panel);border:1px solid var(--panel-brd);transition:.25s}
.pk-strip.active{border-color:rgba(245,197,24,.5);box-shadow:0 0 26px -10px var(--gold)}
.pk-pl{display:flex;align-items:center;gap:10px}
.pk-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#0a0d15;background:var(--cc);box-shadow:0 0 12px -2px var(--cc)}
.pk-name{font-weight:700}
.pk-turn{font-size:11px;color:var(--gold);font-weight:700;animation:pulse 1.6s infinite}
.pk-pr{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--ink-dim)}
.pk-points{display:flex;align-items:center;gap:5px}
.pk-points b{color:var(--gold);font-size:12px}
.pk-pip{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.12);box-shadow:inset 0 0 3px rgba(0,0,0,.6)}
.pk-pip.on{background:radial-gradient(circle at 35% 30%,#ffe98a,#f0b400);box-shadow:0 0 10px 1px var(--gold)}

/* arena */
.pk-arena{flex:1;display:flex;flex-direction:column;min-height:0}
.pk-zone{flex:1;display:flex;flex-direction:column;gap:8px;min-height:0;position:relative;padding:6px 0}
.pk-zone.opp{justify-content:flex-start;padding-top:12px;background:radial-gradient(120% 90% at 50% 0,rgba(76,141,255,.07),transparent 60%)}
.pk-zone.me{justify-content:flex-end;padding-bottom:12px;background:radial-gradient(120% 90% at 50% 100%,rgba(245,197,24,.07),transparent 60%)}
.pk-zlabel{position:absolute;left:12px;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-faint);font-weight:700}
.pk-zone.opp .pk-zlabel{top:3px}
.pk-zone.me .pk-zlabel{bottom:3px}
.pk-bench{display:flex;justify-content:center;gap:12px;min-height:0}
.pk-active-row{display:flex;justify-content:center}
.pk-mid{display:flex;justify-content:center;align-items:center;height:36px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.pk-status{font-size:13px;font-weight:700;color:var(--ink);text-align:center;padding:6px 16px;border-radius:999px;
  background:rgba(10,14,24,.7);border:1px solid var(--panel-brd);white-space:nowrap;box-shadow:0 4px 14px -6px #000}

/* slots */
.pk-slot{display:grid;place-items:center}
.pk-slot .card{width:96px}
.pk-slot .card.is-active{width:158px}
.pk-slot.opp,.pk-slot.me{position:relative;border-radius:12px}
.pk-slot .card.is-active{filter:drop-shadow(0 8px 20px rgba(0,0,0,.7))}
.pk-slot.me .card.is-active .c-frame{box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 22px 1px var(--gold),inset 0 0 18px -9px var(--cc)}
.pk-slot.empty{width:130px;aspect-ratio:5/7;border:1px dashed rgba(255,255,255,.1);border-radius:10px}
.pk-slot.bench.empty{width:82px}
.pk-empty{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:1px}

/* unidade (Pokémon em jogo) */
.pk-unit{position:relative;cursor:default;transition:transform .15s}
.pk-ov{position:absolute;inset:0;z-index:7;pointer-events:none}
.pk-hpbar{position:absolute;left:4px;right:4px;top:3px;height:5px;border-radius:3px;background:rgba(4,6,12,.8);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.6)}
.pk-hpfill{height:100%;border-radius:3px;background:linear-gradient(90deg,#37b679,#7ef0a8);transition:width .4s cubic-bezier(.22,.61,.36,1)}
.pk-hpfill.mid{background:linear-gradient(90deg,#f0b400,#ffe98a)}
.pk-hpfill.low{background:linear-gradient(90deg,#e5484d,#ff9a9d)}
.pk-hpnum{position:absolute;top:9px;right:5px;font-size:10px;font-weight:800;color:#fff;text-shadow:0 1px 3px #000}
.pk-hpnum small{opacity:.7;font-size:8px}
.pk-en{position:absolute;bottom:3px;right:3px;display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;align-content:flex-end;gap:2px;max-width:68%;z-index:8}
.pk-epip{width:15px;height:15px;border-radius:50%;font-size:9px;line-height:1;display:grid;place-items:center;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.4),rgba(6,9,16,.92));
  box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 7px -1px var(--cc);animation:epip-in .28s cubic-bezier(.34,1.56,.64,1)}
.pk-epip.more{font-size:8px;font-weight:800;color:#fff;background:rgba(6,9,16,.92)}
@keyframes epip-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.pk-slot .card.is-active .pk-epip{width:18px;height:18px;font-size:11px}
.pk-ex{position:absolute;top:2px;left:3px;font-size:9px;font-weight:900;padding:1px 4px;border-radius:4px;background:var(--danger);color:#fff}
.pk-stg{position:absolute;bottom:-4px;left:-4px;min-width:17px;height:17px;border-radius:9px;background:var(--cc);color:#0a0d15;font-weight:900;font-size:10px;display:grid;place-items:center;box-shadow:0 2px 5px rgba(0,0,0,.6)}

/* realces de alvo */
.pk-unit.pk-targetable{cursor:crosshair;animation:pktarget 1s infinite}
@keyframes pktarget{0%,100%{box-shadow:0 0 0 2px var(--gold)}50%{box-shadow:0 0 18px 4px var(--gold)}}
.pk-unit.pk-dim{opacity:.32;filter:grayscale(.65)}
.pk-unit.pk-canenergy{cursor:pointer}
.pk-unit.pk-canenergy:hover{transform:translateY(-4px)}
.pk-unit.pk-canenergy::after{content:'⚡';position:absolute;top:-8px;right:-6px;z-index:8;font-size:14px;filter:drop-shadow(0 0 4px #ffe98a);animation:pulse 1s infinite}

/* mão */
.pk-hand{display:flex;justify-content:center;align-items:flex-end;height:162px;padding-bottom:2px;perspective:1500px;overflow:visible}
.pk-hcard{--card-w:116px;margin:0 var(--ov,-6px);transform-origin:bottom center;
  transform:rotate(var(--rot)) translateY(var(--ty));transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s;cursor:pointer;position:relative}
.pk-hcard:hover{transform:translateY(-38px) scale(1.16) rotate(0deg)!important;z-index:999!important;box-shadow:0 24px 44px -14px rgba(0,0,0,.95)}
.pk-hcard.sel{transform:translateY(-24px) scale(1.1) rotate(0deg)!important;z-index:998!important}
.pk-hcard.sel .c-frame{box-shadow:0 0 0 2px var(--gold),0 0 22px 2px var(--gold)}
.pk-htag{position:absolute;top:-7px;left:50%;transform:translateX(-50%);z-index:8;font-size:8px;font-weight:800;
  text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:5px;background:rgba(4,6,12,.9);color:var(--ink-dim);white-space:nowrap}

/* hud */
.pk-hud{display:flex;justify-content:center;gap:10px;padding:4px 0 2px;flex-wrap:wrap}

/* partículas de elemento (ataque) */
.fxp{position:fixed;width:9px;height:9px;pointer-events:none;z-index:256;will-change:transform,opacity}
.fxp-round{border-radius:50%}
.fxp-drop{border-radius:62% 62% 62% 0}
.fxp-leaf{width:13px;height:6px;border-radius:0 100% 0 100%}
.fxp-spark{width:3px;height:16px;border-radius:2px}
.fxp-shard{width:4px;height:13px;border-radius:1px}
.fxp-smoke{width:16px;height:16px;border-radius:50%;filter:blur(2px);opacity:.72}
