/* Luta contra o Gonçalo | GONCALOTSILVA — 2026-11-07 */
.luta-stage{display:flex;flex-direction:column;gap:14px}
.luta-arena{position:relative;height:500px;border-radius:18px;overflow:hidden;isolation:isolate;border:1px solid rgba(110,200,255,.2);
  background:radial-gradient(60% 45% at 50% 0%,rgba(92,200,255,.32),transparent 70%),linear-gradient(180deg,#0b1d34 0%,#06101e 55%,#040a14 100%)}
.luta-luzes{position:absolute;inset:0 0 auto 0;height:40px;display:flex;justify-content:space-around;padding:12px 6% 0}
.luta-luzes i{width:46px;height:12px;border-radius:4px;background:#e9f6ff;box-shadow:0 0 30px 10px rgba(180,225,255,.45)}
.luta-publico{position:absolute;left:0;right:0;top:70px;height:170px;opacity:.9;
  background:radial-gradient(circle at 20px 22px,#17345a 13px,transparent 14px) 0 0/44px 40px,radial-gradient(circle at 20px 22px,#0f2640 13px,transparent 14px) 22px 20px/44px 40px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 80%,transparent)}
.luta-rede{position:absolute;left:24px;right:24px;top:190px;height:200px;border-top:6px solid #1b3550;
  background:repeating-linear-gradient(45deg,rgba(200,225,245,.09) 0 2px,transparent 2px 18px),repeating-linear-gradient(-45deg,rgba(200,225,245,.09) 0 2px,transparent 2px 18px);
  -webkit-mask-image:linear-gradient(180deg,#000 40%,transparent);mask-image:linear-gradient(180deg,#000 40%,transparent)}
.luta-poste{position:absolute;top:184px;width:14px;height:230px;border-radius:4px;background:linear-gradient(90deg,#0d1f33,#2b4c6c,#0d1f33)}
.luta-poste.is-l{left:40px}.luta-poste.is-r{right:40px}
.luta-chao{position:absolute;left:50%;bottom:-170px;width:1200px;height:330px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,#e2ecf4 0%,#c9d8e5 70%,#a3b7c9 100%);box-shadow:0 0 0 14px #1a2c40,0 0 0 16px rgba(92,200,255,.35)}
.luta-chao::after{content:"GONCALOTSILVA";position:absolute;left:50%;top:26%;transform:translate(-50%,-50%) scaleY(.5);font:italic 900 72px Montserrat,Arial,sans-serif;color:rgba(9,40,70,.1);letter-spacing:4px;white-space:nowrap}

/* HUD */
.luta-hud{position:absolute;z-index:6;top:46px;left:50%;transform:translateX(-50%);width:min(440px,80%)}
.luta-vida-nome{display:flex;align-items:center;gap:9px;margin-bottom:7px;font:900 13px Montserrat,Arial,sans-serif;letter-spacing:.06em;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.luta-vida-nome img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid #fff}
.luta-vida-nome b{margin-left:auto;font-size:13px;color:#9fe3ff}
.luta-vida{position:relative;height:16px;border-radius:999px;background:rgba(2,8,16,.75);border:1px solid rgba(255,255,255,.18);overflow:hidden}
.luta-vida i,.luta-vida s{position:absolute;left:0;top:0;bottom:0;width:100%;border-radius:999px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.luta-vida i{z-index:2;background:linear-gradient(90deg,#ff4d64,#ff8a3d 55%,#ffcf4a)}
.luta-vida s{z-index:1;background:#fff;opacity:.55;transition-duration:1.1s;transition-delay:.25s}
.luta-multi{position:absolute;z-index:6;top:46px;right:22px;text-align:right}
.luta-multi span{display:block;font:900 9px Montserrat,Arial,sans-serif;letter-spacing:.18em;color:#8ea9bf}
.luta-multi strong{font:900 26px Montserrat,Arial,sans-serif;color:#ffcf4a;text-shadow:0 0 18px rgba(255,207,74,.35)}

/* Gonçalo */
.luta-goncalo{position:absolute;z-index:3;left:50%;bottom:34px;width:0;height:350px}
.luta-goncalo img{position:absolute;bottom:0;height:100%;width:auto;max-width:none;opacity:0;pointer-events:none;filter:drop-shadow(0 18px 16px rgba(0,0,0,.4))}
.luta-goncalo img[data-p="guarda"]{transform:translateX(-50%)}
.luta-goncalo img[data-p="soco"]{transform:translateX(-36%)}
.luta-goncalo img[data-p="pontape"]{transform:translateX(-44%)}
.luta-goncalo img[data-p="levar"]{transform:translateX(-48%) scaleX(-1)}
.luta-goncalo img[data-p="ko"]{height:auto;width:400px;bottom:-14px;transform:translateX(-50%)}
.luta-goncalo[data-pose="guarda"] img[data-p="guarda"],.luta-goncalo[data-pose="soco"] img[data-p="soco"],.luta-goncalo[data-pose="pontape"] img[data-p="pontape"],
.luta-goncalo[data-pose="levar"] img[data-p="levar"],.luta-goncalo[data-pose="ko"] img[data-p="ko"]{opacity:1}
.luta-goncalo::before{content:"";position:absolute;left:-150px;width:300px;bottom:-14px;height:30px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent)}
.luta-goncalo[data-pose="guarda"]{animation:lutaBalanco 1.6s ease-in-out infinite}
@keyframes lutaBalanco{50%{translate:0 -5px}}
.luta-goncalo.is-hit{animation:lutaRecua .45s cubic-bezier(.2,.8,.2,1)}
@keyframes lutaRecua{0%{translate:0 0}30%{translate:14px -4px}100%{translate:0 0}}
.luta-goncalo.is-attack{animation:lutaAvanca .5s cubic-bezier(.2,.8,.2,1)}
@keyframes lutaAvanca{0%{translate:0 0}40%{translate:-10px 6px}100%{translate:0 0}}

/* luvas do jogador (primeira pessoa) */
.luta-luva{position:absolute;z-index:5;bottom:-92px;width:220px;pointer-events:none;filter:drop-shadow(0 14px 18px rgba(0,0,0,.5));transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.luta-luva.is-l{left:5%;transform:scaleX(-1) rotate(52deg)}
.luta-luva.is-r{right:5%;transform:rotate(-52deg)}
.luta-arena.is-idle .luta-luva.is-l{animation:lutaLuvaL 1.6s ease-in-out infinite}
.luta-arena.is-idle .luta-luva.is-r{animation:lutaLuvaR 1.6s ease-in-out infinite .8s}
@keyframes lutaLuvaL{50%{translate:0 -8px}}
@keyframes lutaLuvaR{50%{translate:0 -8px}}
.luta-luva.is-r.go-soco{transform:translate(-28vw,-200px) rotate(-60deg) scale(.6)}
.luta-luva.is-l.go-pontape{transform:scaleX(-1) translate(-24vw,-170px) rotate(40deg) scale(.62)}
.luta-luva.is-l.go-derrube{transform:scaleX(-1) translate(-14vw,-90px) rotate(60deg) scale(.75)}
.luta-luva.is-r.go-derrube{transform:translate(-14vw,-90px) rotate(-60deg) scale(.75)}
@media (min-width:1300px){
  .luta-luva.is-r.go-soco{transform:translate(-330px,-200px) rotate(-60deg) scale(.6)}
  .luta-luva.is-l.go-pontape{transform:scaleX(-1) translate(-290px,-170px) rotate(40deg) scale(.62)}
  .luta-luva.is-l.go-derrube{transform:scaleX(-1) translate(-170px,-90px) rotate(60deg) scale(.75)}
  .luta-luva.is-r.go-derrube{transform:translate(-170px,-90px) rotate(-60deg) scale(.75)}
}

/* efeitos */
.luta-fx{position:absolute;inset:0;z-index:7;pointer-events:none}
.luta-pop{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);font:italic 900 56px Montserrat,Arial,sans-serif;color:#ffcf4a;-webkit-text-stroke:3px #2a0d00;text-shadow:0 6px 0 #ff4d64;white-space:nowrap;animation:lutaPop .9s cubic-bezier(.2,.8,.2,1) forwards}
.luta-pop small{display:block;text-align:center;font-size:20px;-webkit-text-stroke:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6);font-style:normal}
.luta-pop.is-blue{color:#9fe3ff;text-shadow:0 6px 0 #1989ff}
.luta-pop.is-ko{font-size:96px;animation-duration:2.2s}
@keyframes lutaPop{0%{opacity:0;margin-top:20px}15%{opacity:1;margin-top:0}75%{opacity:1}100%{opacity:0;margin-top:-30px}}
.luta-flash{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;background:radial-gradient(closest-side,transparent 40%,rgba(255,30,60,.55))}
.luta-flash.is-on{animation:lutaFlash .7s ease-out}
@keyframes lutaFlash{0%{opacity:1}100%{opacity:0}}
.luta-arena.is-shake{animation:lutaShake .45s linear}
@keyframes lutaShake{10%,50%,90%{translate:-8px 3px}30%,70%{translate:8px -3px}100%{translate:0 0}}

/* botões de golpe */
.luta-golpes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.luta-golpe{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 12px;border:0;border-radius:14px;color:#fff;font-family:Montserrat,Arial,sans-serif;transition:transform .15s,filter .15s,opacity .15s}
.luta-golpe .ico{font-size:24px;line-height:1}
.luta-golpe b{font-size:14px;font-weight:900;letter-spacing:.06em}
.luta-golpe small{font-size:11px;font-weight:800;opacity:.92}
.luta-golpe small em{font-style:normal}
.luta-golpe small i{font-style:normal;color:#ffe9a6}
.luta-golpe.is-soco{background:linear-gradient(180deg,#ff5a6f,#e8283f);box-shadow:0 8px 20px rgba(255,77,100,.28)}
.luta-golpe.is-pontape{background:linear-gradient(180deg,#ff9a4d,#f2711c);box-shadow:0 8px 20px rgba(255,138,61,.28)}
.luta-golpe.is-derrube{background:linear-gradient(180deg,#b57cff,#8a4dee);box-shadow:0 8px 20px rgba(169,108,255,.28)}
.luta-golpe:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}
.luta-golpe:disabled{cursor:not-allowed;opacity:.38;filter:grayscale(.4)}

@media (max-width:760px){
  .luta-arena{height:400px}
  .luta-goncalo{height:270px;bottom:30px}
  .luta-goncalo img[data-p="ko"]{width:300px}
  .luta-luva{width:140px;bottom:-60px}
  .luta-luva.is-r.go-soco{transform:translate(-28vw,-140px) rotate(-60deg) scale(.6)}
  .luta-luva.is-l.go-pontape{transform:scaleX(-1) translate(-24vw,-120px) rotate(40deg) scale(.62)}
  .luta-hud{top:40px;width:62%;left:8%;transform:none}
  .luta-multi{top:40px;right:12px}
  .luta-multi strong{font-size:20px}
  .luta-pop{font-size:40px}.luta-pop.is-ko{font-size:64px}
  .luta-golpe b{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.luta-goncalo,.luta-luva{animation:none!important}}

/* esconder o corte do punho da luva */
.luta-luva{-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 22%,#000 40%);mask-image:linear-gradient(90deg,transparent 0%,transparent 22%,#000 40%)}
@media (max-width:760px){.luta-luva{width:120px;bottom:-50px}.luta-luva.is-l{left:1%}.luta-luva.is-r{right:1%}}

/* =========================================================
   PÚBLICO (adeptos que saltam e festejam)
   ========================================================= */
.luta-publico{background:none!important;overflow:hidden;top:58px;height:200px}
.luta-fila{position:absolute;left:-20px;right:-20px;display:flex;justify-content:space-between}
.luta-fila:nth-child(1){top:18px;opacity:.55;filter:brightness(.7)}
.luta-fila:nth-child(2){top:62px;opacity:.75;filter:brightness(.85)}
.luta-fila:nth-child(3){top:108px;filter:brightness(.82)}
.luta-fan{position:relative;flex:none;width:34px;height:50px;--c:#24527e;--pele:#e6b48c;animation:lutaFanIdle var(--t,2.4s) ease-in-out infinite;animation-delay:var(--d,0s)}
.luta-fan b{position:absolute;left:8px;top:0;width:18px;height:18px;border-radius:50%;background:var(--pele)}
.luta-fan b::after{content:"";position:absolute;inset:-2px -1px auto -1px;height:8px;border-radius:9px 9px 3px 3px;background:var(--cabelo,#2a1a10)}
.luta-fan s{position:absolute;left:2px;top:17px;width:30px;height:34px;border-radius:14px 14px 4px 4px;background:var(--c)}
.luta-fan i{position:absolute;top:21px;width:7px;height:22px;border-radius:4px;background:var(--c);opacity:0;transform-origin:50% 0;transition:opacity .15s}
.luta-fan i:first-of-type{left:2px;transform:rotate(20deg)}
.luta-fan i:last-of-type{right:2px;transform:rotate(-20deg)}
.luta-fan i::after{content:"";position:absolute;left:0;bottom:-5px;width:7px;height:7px;border-radius:50%;background:var(--pele)}
@keyframes lutaFanIdle{50%{translate:0 -2px}}
/* golpe certo: saltinho */
.luta-arena.crowd-hit .luta-fan{animation:lutaFanHop .5s cubic-bezier(.2,.8,.2,1) 1;animation-delay:var(--d2,0s)}
@keyframes lutaFanHop{40%{translate:0 -9px}}
/* KO: toda a gente de braços no ar a saltar */
.luta-arena.crowd-party .luta-fan{animation:lutaFanJump .42s ease-in-out infinite alternate;animation-delay:var(--d2,0s)}
.luta-arena.crowd-party .luta-fan i{opacity:1;animation:lutaArms .42s ease-in-out infinite alternate;animation-delay:var(--d2,0s)}
.luta-arena.crowd-party .luta-fan i:first-of-type{--r:150deg;--r2:128deg}
.luta-arena.crowd-party .luta-fan i:last-of-type{--r:-150deg;--r2:-128deg}
@keyframes lutaFanJump{from{translate:0 0}to{translate:0 -16px}}
@keyframes lutaArms{from{transform:rotate(var(--r))}to{transform:rotate(var(--r2))}}
/* contra-ataque: "uuuh" — encolhem-se */
.luta-arena.crowd-ooh .luta-fan{animation:lutaFanOoh .7s ease-out 1}
@keyframes lutaFanOoh{30%{translate:0 4px}}
/* flashes de máquinas fotográficas no KO */
.luta-flashes{position:absolute;inset:58px 0 auto 0;height:200px;z-index:2;pointer-events:none}
.luta-flashes i{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 18px 8px rgba(255,255,255,.85);opacity:0;animation:lutaCamFlash .25s ease-out forwards}
@keyframes lutaCamFlash{0%{opacity:1}100%{opacity:0}}
/* confettis */
.luta-confetti{position:absolute;top:-12px;z-index:9;width:8px;height:12px;border-radius:2px;pointer-events:none;animation:lutaConfetti var(--dur,2.2s) linear forwards}
@keyframes lutaConfetti{to{translate:var(--x,0) 540px;rotate:var(--r,540deg)}}
@media (max-width:760px){.luta-fan{width:26px;height:40px}.luta-fan b{left:6px;width:14px;height:14px}.luta-fan s{width:24px;height:28px;top:13px}}
@media (prefers-reduced-motion:reduce){.luta-fan{animation:none!important}}

/* =========================================================
   2026-11-07 v4: luvas com braço (sem cortes) + câmara a cair
   ========================================================= */
.luta-cena{position:absolute;inset:0;transform-origin:50% 100%}
.luta-luva{-webkit-mask-image:none!important;mask-image:none!important;width:430px;bottom:20px;transform-origin:83% 50%;transition:transform .18s cubic-bezier(.2,.8,.2,1),translate .5s ease}
/* esquerda: braço a sair pelo canto inferior esquerdo */
.luta-luva.is-l{left:calc(14% - 357px);transform:rotate(-38deg)}
/* direita: espelhada, braço a sair pelo canto inferior direito */
.luta-luva.is-r{left:auto;right:calc(14% + 357px - 430px);transform:scaleX(-1) rotate(-38deg)}
.luta-luva.is-r{right:auto;left:calc(86% - 357px)}
.luta-luva.is-r{transform-origin:83% 50%}
.luta-luva.is-r.go-soco{transform:scaleX(-1) translate(30vw,-150px) rotate(-12deg) scale(.62)}
.luta-luva.is-l.go-pontape{transform:translate(30vw,-150px) rotate(-12deg) scale(.62)}
.luta-luva.is-l.go-derrube{transform:translate(18vw,-60px) rotate(-5deg) scale(.78)}
.luta-luva.is-r.go-derrube{transform:scaleX(-1) translate(18vw,-60px) rotate(-5deg) scale(.78)}
@media (min-width:1300px){
  .luta-luva.is-r.go-soco{transform:scaleX(-1) translate(340px,-150px) rotate(-12deg) scale(.62)}
  .luta-luva.is-l.go-pontape{transform:translate(340px,-150px) rotate(-12deg) scale(.62)}
  .luta-luva.is-l.go-derrube{transform:translate(200px,-60px) rotate(-5deg) scale(.78)}
  .luta-luva.is-r.go-derrube{transform:scaleX(-1) translate(200px,-60px) rotate(-5deg) scale(.78)}
}
/* câmara a cair para trás e a tombar (o Gonçalo acertou-te) */
.luta-arena.is-tomba .luta-cena{animation:lutaTomba 2.4s cubic-bezier(.3,.6,.2,1) forwards}
@keyframes lutaTomba{
  0%{transform:none;filter:none}
  8%{transform:translateY(-18px) rotate(3deg) scale(1.04);filter:blur(1px)}
  35%{transform:translateY(70px) rotate(-16deg) scale(1.12);filter:blur(3px) brightness(.65)}
  45%{transform:translateY(58px) rotate(-14deg) scale(1.1);filter:blur(2px) brightness(.6)}
  75%{transform:translateY(64px) rotate(-15deg) scale(1.11);filter:blur(2.5px) brightness(.5)}
  100%{transform:none;filter:none}
}
.luta-arena.is-tomba .luta-luva{translate:0 260px;transition:translate .45s cubic-bezier(.4,0,1,1)}
.luta-arena.is-tomba::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(closest-side,transparent 35%,rgba(0,0,0,.8));animation:lutaVinheta 2.4s ease forwards}
@keyframes lutaVinheta{0%{opacity:0}30%{opacity:1}75%{opacity:1}100%{opacity:0}}
@media (max-width:760px){
  .luta-luva{width:250px;bottom:6px}
  .luta-luva.is-l{left:calc(10% - 207px)}
  .luta-luva.is-r{left:calc(90% - 207px)}
  .luta-luva.is-r.go-soco{transform:scaleX(-1) translate(30vw,-100px) rotate(-12deg) scale(.62)}
  .luta-luva.is-l.go-pontape{transform:translate(30vw,-100px) rotate(-12deg) scale(.62)}
}

/* pontapé na primeira pessoa: a perna sobe de baixo */
.luta-perna{position:absolute;z-index:4;left:calc(50% - 300px);bottom:0;width:340px;pointer-events:none;opacity:0;transform-origin:20% 100%;
  transform:translate(-30px,110%) rotate(-28deg);filter:drop-shadow(0 14px 18px rgba(0,0,0,.5))}
.luta-perna.go{animation:lutaPontape .7s cubic-bezier(.2,.8,.2,1)}
@keyframes lutaPontape{
  0%{opacity:1;transform:translate(-30px,110%) rotate(-28deg)}
  38%{opacity:1;transform:translate(40px,-120px) rotate(6deg) scale(.82)}
  58%{opacity:1;transform:translate(36px,-110px) rotate(4deg) scale(.83)}
  100%{opacity:1;transform:translate(-30px,110%) rotate(-28deg)}
}
.luta-luva.is-l.go-guarda{transform:rotate(-30deg) translate(10px,-24px)}
.luta-luva.is-r.go-guarda{transform:scaleX(-1) rotate(-30deg) translate(10px,-24px)}
.luta-arena.is-tomba .luta-perna{display:none}
@media (max-width:760px){
  .luta-perna{width:200px;left:calc(50% - 170px)}
  @keyframes lutaPontapeM{0%{opacity:1;transform:translate(-20px,110%) rotate(-28deg)}38%,58%{opacity:1;transform:translate(24px,-70px) rotate(5deg) scale(.82)}100%{opacity:1;transform:translate(-20px,110%) rotate(-28deg)}}
  .luta-perna.go{animation-name:lutaPontapeM}
}
/* pontapé v2: perna completa (sapato + canela + meia) */
.luta-perna{left:calc(50% - 250px);bottom:-90px;width:360px;transform-origin:10% 100%;transform:translate(-140px,460px) rotate(-22deg)}
@keyframes lutaPontape{
  0%{opacity:1;transform:translate(-140px,460px) rotate(-22deg)}
  36%{opacity:1;transform:translate(0,0) rotate(0) scale(.92)}
  58%{opacity:1;transform:translate(-6px,8px) rotate(-1deg) scale(.93)}
  100%{opacity:1;transform:translate(-140px,460px) rotate(-22deg)}
}
@media (max-width:760px){
  .luta-perna{width:230px;left:calc(50% - 160px);bottom:-70px}
  @keyframes lutaPontapeM{0%{opacity:1;transform:translate(-90px,330px) rotate(-22deg)}36%,58%{opacity:1;transform:translate(0,0) scale(.92)}100%{opacity:1;transform:translate(-90px,330px) rotate(-22deg)}}
}
/* pontapé v3: só o sapato a voar para a cara, com rasto de movimento */
.luta-perna{left:calc(50% - 230px);bottom:auto;top:40px;width:300px;transform-origin:50% 50%;transform:translate(-260px,420px) rotate(-30deg) scale(1.4)}
@keyframes lutaPontape{
  0%{opacity:0;transform:translate(-260px,420px) rotate(-30deg) scale(1.4)}
  10%{opacity:1}
  34%{opacity:1;transform:translate(0,0) rotate(0) scale(.95)}
  40%{transform:translate(8px,-6px) rotate(3deg) scale(.97)}
  62%{opacity:1;transform:translate(0,0) rotate(0) scale(.95)}
  100%{opacity:0;transform:translate(-260px,420px) rotate(-30deg) scale(1.4)}
}
@media (max-width:760px){
  .luta-perna{width:190px;left:calc(50% - 140px);top:50px}
  @keyframes lutaPontapeM{0%{opacity:0;transform:translate(-160px,300px) rotate(-30deg) scale(1.4)}10%{opacity:1}34%,62%{opacity:1;transform:translate(0,0) scale(.95)}100%{opacity:0;transform:translate(-160px,300px) rotate(-30deg) scale(1.4)}}
}
.luta-perna{left:calc(50% - 20px);top:70px;width:190px}
@media (max-width:760px){.luta-perna{width:130px;left:calc(50% - 10px);top:60px}}
/* pontapé v4: sem perna desenhada — arco de movimento + o corpo a rodar */
.luta-perna,.luta-perna.go{position:absolute;z-index:6;left:0;top:0;width:100%;height:100%;opacity:1;transform:none;animation:none;filter:none;pointer-events:none}
.luta-perna i{position:absolute;left:8%;top:22%;width:62%;height:120%;border-radius:50%;border:0 solid transparent;border-top-width:34px;
  border-top-color:rgba(255,255,255,.9);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 85%,transparent 100%);
  filter:blur(3px);opacity:0;transform-origin:50% 50%;transform:rotate(-70deg)}
.luta-perna i:nth-child(2){border-top-width:16px;border-top-color:rgba(160,220,255,.85);top:25%;filter:blur(1px)}
.luta-perna i:nth-child(3){border-top-width:60px;border-top-color:rgba(255,255,255,.25);top:19%;filter:blur(10px)}
.luta-perna.go i{animation:lutaArco .42s cubic-bezier(.2,.7,.2,1) forwards}
.luta-perna.go i:nth-child(2){animation-delay:.02s}
@keyframes lutaArco{0%{opacity:0;transform:rotate(-70deg)}25%{opacity:1}70%{opacity:1;transform:rotate(8deg)}100%{opacity:0;transform:rotate(14deg)}}
/* o corpo roda para dar o pontapé (a câmara inclina e avança) */
.luta-arena.is-kick .luta-cena{animation:lutaKickCam .55s cubic-bezier(.2,.8,.2,1)}
@keyframes lutaKickCam{0%{transform:none}30%{transform:rotate(-5deg) translate(-26px,10px) scale(1.05)}55%{transform:rotate(2deg) translate(10px,-4px) scale(1.03)}100%{transform:none}}
.luta-arena.is-kick .luta-luva.is-l{translate:-40px 30px}
.luta-arena.is-kick .luta-luva.is-r{translate:40px 30px}
@media (max-width:760px){.luta-perna i{border-top-width:22px}.luta-perna i:nth-child(3){border-top-width:40px}}
/* pontapé v5: perna do jogador (calções azuis) a subir e a acertar */
.luta-perna2{position:absolute;z-index:4;left:calc(50% - 330px);top:30px;width:300px;pointer-events:none;opacity:0;transform-origin:15% 100%;
  transform:translate(-180px,520px) rotate(-35deg);filter:drop-shadow(0 18px 20px rgba(0,0,0,.5))}
.luta-perna2.go{animation:lutaPerna .7s cubic-bezier(.2,.8,.2,1)}
@keyframes lutaPerna{
  0%{opacity:1;transform:translate(-180px,520px) rotate(-35deg)}
  34%{opacity:1;transform:translate(0,0) rotate(0)}
  40%{opacity:1;transform:translate(10px,-8px) rotate(3deg)}
  62%{opacity:1;transform:translate(0,0) rotate(0)}
  100%{opacity:1;transform:translate(-180px,520px) rotate(-35deg)}
}
.luta-arena.is-tomba .luta-perna2{display:none}
@media (max-width:760px){
  .luta-perna2{width:190px;left:calc(50% - 200px);top:40px}
  .luta-perna2.go{animation-name:lutaPernaM}
  @keyframes lutaPernaM{0%{opacity:1;transform:translate(-120px,380px) rotate(-35deg)}34%,62%{opacity:1;transform:translate(0,0)}100%{opacity:1;transform:translate(-120px,380px) rotate(-35deg)}}
}
.luta-perna2{left:calc(50% - 395px);top:66px;z-index:6}
@media (max-width:760px){.luta-perna2{width:150px;left:calc(50% - 205px);top:78px}}
/* público mais perto do octógono (maior e mesmo atrás da rede) */
.luta-publico{top:30px!important;height:250px!important;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%)!important;mask-image:linear-gradient(180deg,transparent,#000 22%)!important}
.luta-fila{transform-origin:50% 0}
.luta-fila:nth-child(1){top:46px;transform:scale(1.2)}
.luta-fila:nth-child(2){top:98px;transform:scale(1.4)}
.luta-fila:nth-child(3){top:156px;transform:scale(1.65);filter:brightness(.92)}
@media (max-width:760px){
  .luta-fila:nth-child(1){top:50px;transform:scale(1.1)}
  .luta-fila:nth-child(2){top:92px;transform:scale(1.25)}
  .luta-fila:nth-child(3){top:138px;transform:scale(1.45)}
}
/* pontapé vem da esquerda: o Gonçalo leva o golpe do lado esquerdo e cai para a direita */
.luta-goncalo[data-lado="esq"] img[data-p="levar"]{transform:translateX(-52%)}
.luta-perna2{left:calc(50% - 300px)}
@media (max-width:760px){.luta-perna2{left:calc(50% - 150px)}}

/* contra-ataque do Gonçalo virado para a câmara */
.luta-goncalo img[data-p="cam-soco"],.luta-goncalo img[data-p="cam-pontape"]{transform:translateX(-50%);transform-origin:50% 40%}
.luta-goncalo[data-pose="cam-soco"] img[data-p="cam-soco"],.luta-goncalo[data-pose="cam-pontape"] img[data-p="cam-pontape"]{opacity:1}
.luta-goncalo.is-rush{animation:lutaRush .6s cubic-bezier(.5,0,.8,.4) forwards;z-index:6}
@keyframes lutaRush{0%{scale:1;translate:0 0}100%{scale:2.3;translate:0 120px}}
/* grande plano do soco a vir à cara */
.luta-close{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(closest-side,rgba(60,0,10,.35),rgba(0,0,0,.85))}
.luta-close img{width:110%;max-width:none;transform-origin:22% 45%}
.luta-close.is-on{animation:lutaCloseIn .65s ease-out}
.luta-close.is-on img{animation:lutaCloseZoom .65s cubic-bezier(.6,0,.9,.5)}
@keyframes lutaCloseIn{0%{opacity:0}15%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes lutaCloseZoom{0%{transform:scale(.9)}100%{transform:scale(2.4)}}
/* "K.O." para o jogador */
.luta-kodown{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.luta-kodown b{font:italic 900 110px/1 Montserrat,Arial,sans-serif;color:#ff4d64;-webkit-text-stroke:4px #2a0008;text-shadow:0 8px 0 #000}
.luta-kodown span{font:900 15px Montserrat,Arial,sans-serif;letter-spacing:.2em;color:#fff;text-shadow:0 2px 10px #000}
.luta-kodown.is-on{animation:lutaKoDown 1.9s ease forwards}
@keyframes lutaKoDown{0%{opacity:0;transform:scale(1.6)}12%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:0}}
@media (max-width:760px){.luta-kodown b{font-size:70px}.luta-kodown span{font-size:11px}}

/* =========================================================
   KO do Gonçalo v2: transições mais "vivas"
   ========================================================= */
/* as poses trocam com um cruzamento rápido (não "saltam") */
.luta-goncalo img{transition:opacity .1s linear}
/* preparação: recua e encolhe antes de investir */
.luta-goncalo.is-windup{animation:lutaWindup .22s ease-out forwards}
@keyframes lutaWindup{0%{scale:1;translate:0 0}100%{scale:.93;translate:10px -6px}}
/* investida: acelera para a câmara com desfoque de movimento crescente */
.luta-goncalo.is-rush{animation:lutaRush2 .52s cubic-bezier(.55,0,.9,.45) forwards;z-index:6}
@keyframes lutaRush2{
  0%{scale:.93;translate:10px -6px;filter:blur(0)}
  60%{scale:1.6;translate:0 50px;filter:blur(1.5px)}
  100%{scale:3.1;translate:0 190px;filter:blur(5px)}
}
/* linhas de velocidade */
.luta-speed{position:absolute;inset:-20%;z-index:6;pointer-events:none;opacity:0;
  background:repeating-conic-gradient(from 0deg at 50% 42%,transparent 0deg 4deg,rgba(255,255,255,.55) 4deg 4.5deg,transparent 4.5deg 9deg,rgba(255,255,255,.25) 9deg 9.4deg,transparent 9.4deg 13deg);
  -webkit-mask-image:radial-gradient(circle at 50% 42%,transparent 0 18%,#000 45%);mask-image:radial-gradient(circle at 50% 42%,transparent 0 18%,#000 45%)}
.luta-speed.is-on{animation:lutaSpeed .64s ease-out}
@keyframes lutaSpeed{0%{opacity:0;transform:scale(1.25) rotate(0)}25%{opacity:1}100%{opacity:0;transform:scale(1) rotate(6deg)}}
/* grande plano: entra desfocado a partir da investida, fica nítido e continua a crescer */
.luta-close{background:none!important}
.luta-close.is-on{animation:lutaClose2 .52s linear forwards}
.luta-close.is-on img{animation:lutaCloseZoom2 .52s cubic-bezier(.5,0,.9,.5) forwards}
@keyframes lutaClose2{0%{opacity:0}30%{opacity:1}100%{opacity:1}}
@keyframes lutaCloseZoom2{0%{transform:scale(1.25);filter:blur(7px)}45%{transform:scale(1.7);filter:blur(0)}100%{transform:scale(3.4);filter:blur(6px)}}
/* hit-stop: tudo congela uma fração de segundo */
.luta-arena.is-freeze *{animation-play-state:paused!important}
/* impacto: tremor forte com separação de cor */
.luta-arena.is-impact .luta-cena{animation:lutaImpact .38s linear}
@keyframes lutaImpact{
  0%{transform:translate(0,0) scale(1.06);filter:drop-shadow(6px 0 0 rgba(255,0,60,.55)) drop-shadow(-6px 0 0 rgba(0,180,255,.55)) brightness(1.6)}
  20%{transform:translate(-14px,8px) scale(1.05)}
  40%{transform:translate(12px,-6px) scale(1.04);filter:drop-shadow(3px 0 0 rgba(255,0,60,.4)) drop-shadow(-3px 0 0 rgba(0,180,255,.4))}
  60%{transform:translate(-8px,4px)}
  80%{transform:translate(4px,-2px)}
  100%{transform:none;filter:none}
}
/* olhos do jogador a fechar enquanto cai (pálpebras) */
.luta-olhos{position:absolute;inset:0;z-index:8;pointer-events:none}
.luta-olhos i{position:absolute;left:-5%;right:-5%;height:52%;background:#000;transform:scaleY(0)}
.luta-olhos i:first-child{top:0;transform-origin:50% 0;border-radius:0 0 50% 50%/0 0 30% 30%}
.luta-olhos i:last-child{bottom:0;transform-origin:50% 100%;border-radius:50% 50% 0 0/30% 30% 0 0}
.luta-olhos.is-on i{animation:lutaPalpebra 2.45s ease-in-out}
@keyframes lutaPalpebra{0%,15%{transform:scaleY(0)}35%{transform:scaleY(.75)}45%{transform:scaleY(.45)}62%{transform:scaleY(1)}78%{transform:scaleY(1)}100%{transform:scaleY(0)}}
/* o K.O. aparece por cima das pálpebras */
.luta-kodown{z-index:10}
@media (prefers-reduced-motion:reduce){.luta-speed,.luta-olhos{display:none}}
@keyframes lutaClose2{0%{opacity:0}30%{opacity:1}65%{opacity:1}100%{opacity:0}}
/* depois do impacto o Gonçalo (já enorme) desfoca-se e escurece com a queda */
.luta-arena.is-tomba .luta-goncalo.is-rush{animation:lutaRushHold 1.5s linear forwards}
@keyframes lutaRushHold{0%{scale:3.1;translate:0 190px;filter:blur(5px)}100%{scale:3.3;translate:0 220px;filter:blur(9px);opacity:.7}}
