*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#06111f;font-family:Arial,Helvetica,sans-serif;color:white}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.screen{position:fixed;inset:0}.start-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,15,28,.9),rgba(2,15,28,.25)),url("assets/cenarios/fase1.jpg") center/cover no-repeat;filter:saturate(1.08)}.start-panel{position:absolute;left:4vw;top:50%;transform:translateY(-50%);width:min(720px,92vw);padding:28px;border:1px solid #ffffff2c;background:linear-gradient(145deg,#071a2bea,#0b2944df);box-shadow:0 30px 80px #000b;border-radius:28px;backdrop-filter:blur(10px)}.logo{display:flex;align-items:flex-end;gap:9px;line-height:.82;text-shadow:0 4px 0 #0008}.logo span{font-size:28px;font-weight:900;color:#ffd21e;transform:rotate(-4deg)}.logo strong{font-size:76px;font-weight:1000;color:#f8fbff}.logo small{font-size:12px;letter-spacing:3px;color:#71dcff;padding-bottom:8px}.tag{color:#cfeeff;margin:10px 0 18px}.chars{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.char{background:#061421;border:2px solid transparent;border-radius:14px;padding:5px;color:#fff;transition:.18s}.char.active{border-color:#ffd428;transform:translateY(-5px);box-shadow:0 10px 20px #0008}.char img{width:100%;height:92px;object-fit:cover;border-radius:9px}.char b{display:block;font-size:11px}.char small{font-size:8px;color:#94bcd1}.start-panel input{width:100%;margin:14px 0 9px;background:#03101a;border:1px solid #ffffff25;color:#fff;border-radius:10px;padding:11px 14px}.mode-row{display:flex;gap:8px}.mode,.phase-pick button{background:#0b2f4a;color:#bfeaff;border:1px solid #ffffff20;border-radius:10px;padding:9px 12px}.mode.active,.phase-pick button.active{background:#ffd327;color:#132033;font-weight:900}.phase-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.play{width:100%;margin-top:12px;border:0;border-radius:13px;padding:15px;font-weight:1000;font-size:20px;background:linear-gradient(#ffe632,#f1a900);color:#07111c;box-shadow:0 7px 0 #8c5d00}.controls{font-size:10px;color:#93b7c9;margin-top:13px;text-align:center}

#viewport{position:absolute;inset:0;overflow:hidden;background:#79c9ef}.parallax{position:absolute;inset:-4%;background-repeat:repeat-x;background-position:center bottom;background-size:auto 104%;will-change:transform}.far{background-image:url("assets/cenarios/fase1.jpg");filter:blur(1px) brightness(.77) saturate(.9);opacity:.52;transform:scale(1.07)}.mid{background-image:url("assets/cenarios/fase1.jpg");opacity:.42;filter:saturate(1.1);clip-path:inset(35% 0 0 0)}#world{position:absolute;left:0;top:0;height:100%;width:6000px;will-change:transform}.platform{position:absolute;height:48px;border-radius:8px 8px 3px 3px;background:linear-gradient(#6f756a,#3a423e 20%,#202927);border-top:6px solid #a6b085;box-shadow:0 15px 25px #0008,inset 0 0 0 2px #0006}.platform:before{content:"";position:absolute;left:0;right:0;top:-12px;height:15px;background:linear-gradient(90deg,#2d7c39,#72ba43,#285f33);filter:saturate(1.3);border-radius:60%}.platform.vine:after{content:"";position:absolute;width:8px;height:80px;left:22%;top:30px;background:repeating-linear-gradient(#3d8d3a 0 8px,#1d5e26 8px 15px);border-radius:8px}.bridge{position:absolute;height:16px;background:repeating-linear-gradient(90deg,#70441c 0 30px,#ba7838 30px 55px);border:3px solid #3b250f;border-radius:12px;transform-origin:center}.crate{position:absolute;width:68px;height:68px;background:linear-gradient(135deg,#c27a2d,#6b3915);border:5px solid #3e210d;box-shadow:inset 0 0 0 4px #e9a75855,0 8px 12px #0008}.crate:after,.crate:before{content:"";position:absolute;left:29px;top:-5px;width:6px;height:68px;background:#3e210d;transform:rotate(45deg)}.crate:after{transform:rotate(-45deg)}.hazard{position:absolute;width:44px;height:50px;background:linear-gradient(#f22,#7c0505);border:3px solid #390000;border-radius:8px;box-shadow:0 7px 12px #0008}.hazard:after{content:"⚠";position:absolute;inset:8px 0 0;text-align:center;font-size:24px}.coin,.drone{position:absolute;background:center/contain no-repeat;will-change:transform}.coin{width:48px;height:48px;background-image:url("assets/objetos/moeda.png");filter:drop-shadow(0 4px 5px #0009)}.drone{width:96px;height:72px;background-image:url("assets/objetos/drone.png");filter:drop-shadow(0 8px 8px #0008)}.drone.hit{filter:brightness(3) drop-shadow(0 0 12px #fff)}.bullet,.enemyBullet{position:absolute;width:24px;height:7px;border-radius:8px;box-shadow:0 0 12px currentColor}.bullet{background:#ffe348;color:#ff9f00}.enemyBullet{background:#ff3a2f;color:#ff2a00}.pickup{position:absolute;width:44px;height:44px;border-radius:10px;background:#e42931;border:3px solid #fff;box-shadow:0 7px 12px #0009}.pickup:after{content:"+";display:grid;place-items:center;font-size:32px;font-weight:900;height:100%}.spark{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffd72e;pointer-events:none;animation:spark .45s forwards}.dust{position:absolute;width:9px;height:9px;border-radius:50%;background:#d8c7a6aa;animation:dust .55s forwards}@keyframes spark{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}@keyframes dust{to{transform:translate(var(--dx),var(--dy)) scale(2);opacity:0}}

#heroWrap{position:absolute;width:100px;height:150px;transform-origin:50% 100%;will-change:left,top,transform;z-index:9}.hero-run{animation:runBob .16s infinite alternate}.hero-jump{animation:jumpStretch .32s ease-out}.hero-slide{transform:scaleX(1.15) scaleY(.72) translateY(38px)!important}.hero-dash{filter:drop-shadow(-24px 0 0 #80eaff88) drop-shadow(-45px 0 0 #80eaff44)}.hero-hit{animation:hitFlash .12s steps(2) infinite}.hero-shoot{animation:recoil .11s ease-out}#hero{position:absolute;left:0;bottom:9px;width:100%;height:138px;object-fit:contain;filter:drop-shadow(0 7px 4px #0009);transform-origin:50% 80%}.flip #hero{transform:scaleX(-1)}#shadow{position:absolute;left:17px;bottom:0;width:68px;height:14px;border-radius:50%;background:#0008;filter:blur(3px)}#muzzle{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff5b5;box-shadow:0 0 25px #ff9b00;opacity:0}.muzzle-on{animation:muzzle .09s}@keyframes muzzle{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(2.5)}}@keyframes runBob{from{transform:translateY(0) rotate(-1deg) scaleX(1.03)}to{transform:translateY(-7px) rotate(2deg) scaleX(.97)}}@keyframes jumpStretch{0%{transform:scale(.94,1.08)}100%{transform:scale(1)}}@keyframes hitFlash{50%{opacity:.28}}@keyframes recoil{50%{transform:translateX(-8px) rotate(-4deg)}}#finish{position:absolute;padding:10px 15px;background:#ffd82c;color:#072039;font-weight:1000;border-radius:12px;box-shadow:0 8px 16px #0008}.boss-core{width:220px;height:190px;border:7px solid #ffbf22;border-radius:24px;background:linear-gradient(135deg,#421212,#0c1724);display:grid;place-items:center;font-size:25px;font-weight:1000;box-shadow:0 0 45px #ff302699}

.hud{position:absolute;top:0;left:0;right:0;height:84px;display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(#061525e6,transparent);z-index:30;pointer-events:none}.player-card{display:flex;align-items:center;background:#071b2eea;border:2px solid #6dbcf0;border-radius:13px;padding:5px 9px 5px 5px}.player-card img{width:48px;height:48px;border-radius:9px;object-fit:cover}.player-card div{padding-left:7px}.player-card b{display:block;font-size:12px}.player-card small{font-size:9px;color:#99dfff}.stat{background:#071b2ee8;border:1px solid #ffffff22;border-radius:11px;padding:10px 14px;font-size:14px}.life{color:#ff485b;font-size:18px}.combo{color:#ffd42a}.phase-box{margin-left:auto;background:#071b2ee8;border:1px solid #ffffff25;border-radius:12px;padding:8px 14px;min-width:200px}.phase-box small{display:block;color:#7bdcff;font-size:9px}.phase-box b{font-size:13px}#pauseBtn{pointer-events:auto;border:1px solid #ffffff55;background:#071b2ee8;color:#fff;border-radius:12px;width:48px;height:48px;font-size:22px}.mission{position:absolute;right:15px;top:95px;width:260px;background:#06192bd9;border:1px solid #ffffff2c;border-radius:15px;padding:13px;z-index:28;box-shadow:0 15px 30px #0005}.mission small{color:#6ee4ff;font-size:9px}.mission>b{display:block;font-size:14px;margin:3px 0 9px}.task{display:flex;justify-content:space-between;font-size:10px;color:#d3e8f5;border-top:1px solid #ffffff14;padding:7px 0}.task.done{color:#8cff9d}.task.done:before{content:"✓";margin-right:4px}#toast{position:absolute;left:50%;top:110px;transform:translate(-50%,-20px);opacity:0;background:#07172ce8;border:1px solid #ffd736;padding:10px 18px;border-radius:20px;font-weight:900;z-index:40;transition:.18s}.show{opacity:1!important;transform:translate(-50%,0)!important}#dashBar{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:190px;height:8px;border:1px solid #ffffff55;background:#06101b99;border-radius:10px;z-index:29;overflow:hidden}#dashBar span{display:block;height:100%;width:100%;background:#4ddfff;transition:width .08s}

.mobile{display:none;position:absolute;left:0;right:0;bottom:15px;z-index:45;justify-content:space-between;padding:0 18px}.mobile button{width:62px;height:62px;border-radius:50%;border:2px solid #ffffffbb;background:#061729b8;color:#fff;font-size:22px}.left-pad,.right-pad{display:grid;grid-template-columns:repeat(2,62px);gap:7px}.modal{position:absolute;inset:0;display:grid;place-items:center;background:#03101bd8;z-index:99}.modal>div,.modal{color:#fff}.modal>div{background:#071b2f;border:1px solid #ffffff28;border-radius:24px;padding:32px;text-align:center;min-width:320px;box-shadow:0 20px 50px #000}.modal button{display:block;width:100%;margin-top:10px;border:0;border-radius:11px;padding:12px;background:#ffd42b;color:#071321;font-weight:900}.stars{font-size:34px;color:#ffd42b}.big{font-size:36px;font-weight:1000}
@media(max-width:900px){.mission{display:none}.combo{display:none}.phase-box{min-width:130px}.mobile{display:flex}.start-panel{padding:16px}.chars{grid-template-columns:repeat(3,1fr)}.char img{height:72px}.logo strong{font-size:55px}.controls{display:none}}

/* V6 — obstáculos PNG transparentes e movimento corporal */
.crate{background:transparent url("assets/objetos/caixa_transparente.png") center/contain no-repeat!important;border:0!important;box-shadow:none!important}
.crate:before,.crate:after{display:none!important}
.hazard{background:transparent url("assets/objetos/barril_transparente.png") center/contain no-repeat!important;border:0!important;box-shadow:none!important}
.hazard:after{display:none!important}
#heroWrap.hero-run #hero{animation:bodyRun .18s infinite alternate}
#heroWrap.hero-jump #hero{animation:bodyJump .34s ease-out}
#heroWrap.hero-slide #hero{animation:bodySlide .22s ease-out forwards}
#heroWrap.hero-crouch #hero{animation:bodyCrouch .12s ease-out forwards}
#heroWrap.hero-shoot #hero{animation:bodyShoot .10s ease-out}
#heroWrap.hero-dash #hero{animation:bodyDash .18s ease-out}
@keyframes bodyRun{
  0%{transform:translateY(2px) rotate(-4deg) skewX(-2deg)}
  50%{transform:translateY(-7px) rotate(2deg) skewX(3deg)}
  100%{transform:translateY(1px) rotate(5deg) skewX(-2deg)}
}
@keyframes bodyJump{0%{transform:scale(.88,1.13) rotate(-5deg)}55%{transform:scale(1.05,.96) rotate(3deg)}100%{transform:scale(1)}}
@keyframes bodyCrouch{to{transform:translateY(48px) scale(1.08,.64) rotate(-3deg)}}
@keyframes bodySlide{0%{transform:translateY(48px) scale(1.12,.62) rotate(-8deg)}100%{transform:translateY(52px) translateX(14px) scale(1.18,.58) rotate(-12deg)}}
@keyframes bodyShoot{50%{transform:translateX(-10px) rotate(-6deg)}}
@keyframes bodyDash{to{transform:skewX(-13deg) scaleX(1.12)}}

/* V7 — personagem lateral e apoiado no chão */
#heroWrap{
  width:110px!important;
  height:140px!important;
  transform-origin:50% 100%!important;
}
#hero{
  left:0!important;
  bottom:0!important;
  width:110px!important;
  height:140px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
#shadow{
  left:24px!important;
  bottom:-2px!important;
  width:62px!important;
  height:10px!important;
  opacity:.75;
}
#heroWrap.hero-run #hero{
  animation:walkGround .16s infinite alternate!important;
}
#heroWrap.hero-idle #hero{
  animation:idleGround 1s ease-in-out infinite alternate!important;
}
#heroWrap.hero-jump #hero{
  animation:jumpSide .26s ease-out!important;
}
#heroWrap.hero-crouch #hero{
  animation:crouchSide .12s ease-out forwards!important;
}
#heroWrap.hero-slide #hero{
  animation:slideSide .18s ease-out forwards!important;
}
@keyframes walkGround{
  from{transform:translateY(0) rotate(-1deg) scaleX(1)}
  to{transform:translateY(-3px) rotate(1deg) scaleX(.98)}
}
@keyframes idleGround{
  from{transform:translateY(0)}
  to{transform:translateY(-1px)}
}
@keyframes jumpSide{
  0%{transform:scale(.94,1.05) rotate(-2deg)}
  100%{transform:scale(1)}
}
@keyframes crouchSide{
  to{transform:translateY(39px) scale(1.08,.72)}
}
@keyframes slideSide{
  to{transform:translateY(43px) translateX(12px) scale(1.14,.66) rotate(-5deg)}
}

/* V8 — movimento mais realista */
#heroWrap.hero-walk #hero{
  animation:walkCycle .34s infinite ease-in-out!important;
}
#heroWrap.hero-run #hero{
  animation:runCycle .20s infinite ease-in-out!important;
}
#heroWrap.hero-turn #hero{
  animation:turnCycle .16s ease-out!important;
}
@keyframes walkCycle{
  0%{transform:translateY(0) rotate(-1deg)}
  25%{transform:translateY(-2px) rotate(.5deg)}
  50%{transform:translateY(0) rotate(1deg)}
  75%{transform:translateY(-2px) rotate(-.5deg)}
  100%{transform:translateY(0) rotate(-1deg)}
}
@keyframes runCycle{
  0%{transform:translateY(0) rotate(-2deg) scaleX(1.02)}
  50%{transform:translateY(-5px) rotate(2deg) scaleX(.98)}
  100%{transform:translateY(0) rotate(-2deg) scaleX(1.02)}
}
@keyframes turnCycle{
  0%{transform:scaleX(.82) rotate(-5deg)}
  60%{transform:scaleX(1.08) rotate(3deg)}
  100%{transform:scaleX(1) rotate(0)}
}
.enemyBullet{
  opacity:.92;
  width:20px!important;
  height:6px!important;
}

/* V9 — remove sombra artificial sob personagem */
#shadow{display:none!important}

#heroWrap.hero-walk #hero{animation:walkNatural .26s infinite ease-in-out!important}
#heroWrap.hero-run #hero{animation:runNatural .16s infinite ease-in-out!important}
#heroWrap.hero-turn #hero{animation:turnNatural .14s ease-out!important}
@keyframes walkNatural{
  0%{transform:translateY(0) rotate(-1deg) scaleX(1)}
  25%{transform:translateY(-1px) rotate(0deg) scaleX(.99)}
  50%{transform:translateY(0) rotate(1deg) scaleX(1)}
  75%{transform:translateY(-1px) rotate(0deg) scaleX(1.01)}
  100%{transform:translateY(0) rotate(-1deg) scaleX(1)}
}
@keyframes runNatural{
  0%{transform:translateY(0) rotate(-2deg) scaleX(1.03)}
  50%{transform:translateY(-3px) rotate(2deg) scaleX(.97)}
  100%{transform:translateY(0) rotate(-2deg) scaleX(1.03)}
}
@keyframes turnNatural{
  0%{transform:scaleX(.72)}
  55%{transform:scaleX(1.08)}
  100%{transform:scaleX(1)}
}

.interact{
 position:absolute;z-index:7;border-radius:12px;
 background:linear-gradient(#173a57,#081d30);
 border:2px solid #6fd7ff;
 box-shadow:0 0 0 3px #001522aa,0 10px 25px #0007;
 color:#e9fbff;font-weight:900;font-size:12px;
 display:grid;place-items:center;text-align:center;padding:8px;
}
.interact.ready{border-color:#ffd834;box-shadow:0 0 22px #ffd834aa}
.climb{
 position:absolute;width:36px;border-radius:10px;
 background:repeating-linear-gradient(to bottom,#6b401d 0 8px,#b77a38 8px 16px);
 border:3px solid #3d240f;z-index:5
}
.checkpoint{
 position:absolute;width:54px;height:84px;border-radius:10px 10px 0 0;
 background:linear-gradient(#ffd838,#b88100);border:3px solid #4a3100;
 display:grid;place-items:center;color:#06111e;font-weight:1000;z-index:6
}
.sign{
 position:absolute;padding:7px 10px;border-radius:10px;background:#06192bd9;
 border:1px solid #ffffff33;color:#dff7ff;font-size:11px;font-weight:800;z-index:8;
}

/* V10 — personagem reconstruído e leitura de fase */
#hero{filter:none!important}
#heroWrap{width:120px!important;height:160px!important}
#hero{width:120px!important;height:160px!important;bottom:0!important}
.enemy-label{
 position:absolute;left:50%;top:-22px;transform:translateX(-50%);
 padding:3px 7px;border-radius:8px;background:#081725dd;color:#fff;
 font-size:9px;font-weight:900;white-space:nowrap
}
.enemy-hp{position:absolute;left:10px;right:10px;top:-9px;height:5px;background:#2a0d0d;border-radius:5px;overflow:hidden}
.enemy-hp span{display:block;height:100%;background:#ff4c39}
.goal-arrow{
 position:absolute;z-index:20;color:#ffd72d;font-size:28px;font-weight:1000;
 animation:goalBounce .6s infinite alternate;filter:drop-shadow(0 3px 3px #000)
}
@keyframes goalBounce{to{transform:translateY(-8px)}}
.route-gate{
 position:absolute;width:130px;height:145px;border-radius:55px 55px 8px 8px;
 border:7px solid #ffd52b;background:#071b2dcc;color:#fff;display:grid;
 place-items:center;text-align:center;font-weight:1000;z-index:7;box-shadow:0 0 25px #ffd52b77
}
.route-gate.locked{border-color:#ef4a42;filter:saturate(.7)}
.route-gate small{font-size:9px;color:#cfefff}
.platform{min-height:48px}

#heroWrap.flip #hero,.flip #hero{transform:none!important}

/* V11 — sem avisos; leitura visual */
#heroWrap{width:110px!important;height:145px!important}
#hero{width:110px!important;height:145px!important;object-fit:contain!important;filter:none!important}
.enemy-label,.sign,.goal-arrow,#tasks,#missionName{display:none!important}

.drone{
 width:120px!important;height:72px!important;
 background:url("assets/objetos/drone_pro.png") center/contain no-repeat!important;
 border:none!important;border-radius:0!important;box-shadow:none!important;
}
.drone::before,.drone::after{display:none!important}

.enemy-hp{
 left:24px!important;right:24px!important;top:-7px!important;
 height:4px!important;background:#101820cc!important;border:1px solid #ffffff44;
}
.enemy-hp span{background:linear-gradient(90deg,#ffcc33,#ff4b3e)!important}

.route-gate{
 width:96px!important;height:132px!important;padding:0!important;
 border:0!important;border-radius:48px 48px 8px 8px!important;
 background:
   radial-gradient(circle at 50% 35%,#ff625955 0 18%,transparent 19%),
   linear-gradient(#4f1717,#160909)!important;
 box-shadow:0 0 0 4px #722b2b,0 0 24px #ef4b4077!important;
}
.route-gate.open{
 background:
   radial-gradient(circle at 50% 35%,#73ffc266 0 18%,transparent 19%),
   linear-gradient(#164a39,#071d17)!important;
 box-shadow:0 0 0 4px #2b8060,0 0 30px #54efac88!important;
}
.route-gate small{display:none!important}

/* V12 — correções de personagem e plataformas */
#heroWrap{
  width:112px!important;
  height:150px!important;
  overflow:visible!important;
}
#hero{
  width:112px!important;
  height:150px!important;
  bottom:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  filter:none!important;
}
#shadow{display:none!important}


/* V14 — fim de fase com bandeira */
.pickup,
.checkpoint,
.climb,
.route-gate,
.goal-arrow,
.interact,
#finish {
  display:none!important;
}

.finish-flag{
  position:absolute;
  width:110px;
  height:190px;
  z-index:9;
  pointer-events:none;
}

.finish-flag .flag-pole{
  position:absolute;
  left:38px;
  top:0;
  width:7px;
  height:178px;
  border-radius:5px;
  background:linear-gradient(90deg,#8d9298,#f4f4f4 45%,#8b9096);
  box-shadow:0 2px 5px #0006;
}

.finish-flag .flag-base{
  position:absolute;
  left:22px;
  bottom:0;
  width:40px;
  height:10px;
  border-radius:50%;
  background:#333a42;
  box-shadow:0 4px 7px #0006;
}

.finish-flag .flag-cloth{
  position:absolute;
  left:43px;
  top:12px;
  width:62px;
  height:42px;
  background:
    linear-gradient(135deg,
      #ffffff 0 24%,
      #1d9150 24% 49%,
      #ffd640 49% 74%,
      #2776c7 74% 100%);
  clip-path:polygon(0 0,100% 8%,84% 50%,100% 92%,0 100%);
  transform-origin:left center;
  animation:flagWave .75s ease-in-out infinite alternate;
  filter:drop-shadow(0 3px 3px #0006);
}

.finish-flag.passed .flag-cloth{
  animation:flagLower .75s ease-in forwards;
}

@keyframes flagWave{
  from{transform:skewY(-3deg) scaleX(.97)}
  to{transform:skewY(3deg) scaleX(1.03)}
}

@keyframes flagLower{
  0%{top:12px;transform:skewY(0) scaleX(1)}
  100%{top:130px;transform:skewY(0) scaleX(.88)}
}


/* V15 — mecânicas exclusivas por fase */

/* Pão de Açúcar: bondinho */
.cable-car{position:absolute;width:210px;height:250px;z-index:8;pointer-events:none}
.cable-line{position:absolute;left:-180px;top:10px;width:430px;height:5px;background:#202a31;transform:rotate(-7deg);transform-origin:right center}
.cable-body{position:absolute;left:65px;top:38px;width:105px;height:82px;border-radius:18px 18px 25px 25px;background:linear-gradient(#e8f7ff,#9bd6ef);border:5px solid #253844;box-shadow:0 10px 20px #0006}
.cable-body:before{content:"";position:absolute;left:49px;top:-32px;width:8px;height:34px;background:#29363d}
.cable-body div{position:absolute;top:14px;width:31px;height:31px;border-radius:7px;background:#2e718d}
.cable-body div:first-child{left:13px}.cable-body div:last-child{right:13px}
.cable-car.depart{animation:cableDepart 1.15s ease-in forwards}
@keyframes cableDepart{to{transform:translate(350px,-160px) scale(.78);opacity:.15}}

/* Copacabana: mar e barco */
.sea-strip{position:absolute;width:760px;height:95px;background:linear-gradient(#43c7e8aa,#147ab6dd);border-radius:55% 0 0 0;z-index:3;animation:seaMove 1.5s ease-in-out infinite alternate}
@keyframes seaMove{to{transform:translateY(5px)}}
.finish-boat{position:absolute;width:180px;height:125px;z-index:9;pointer-events:none;transform-origin:center bottom}
.boat-hull{position:absolute;left:22px;bottom:12px;width:140px;height:43px;background:linear-gradient(#f3f3e8,#c97839);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);border-radius:0 0 38px 38px}
.boat-mast{position:absolute;left:91px;bottom:52px;width:5px;height:68px;background:#6c4a2b}
.boat-sail{position:absolute;left:96px;bottom:58px;width:61px;height:58px;background:#fff3cf;clip-path:polygon(0 0,0 100%,100% 100%);filter:drop-shadow(0 3px 2px #0003)}
.finish-boat.depart{animation:boatDepart 1.25s ease-in forwards}
@keyframes boatDepart{50%{transform:translate(180px,-7px) rotate(-2deg)}100%{transform:translate(620px,-3px) scale(.8);opacity:.2}}

/* Maracanã: futebol */
.soccer-area{position:absolute;width:780px;height:210px;z-index:7;background:linear-gradient(transparent 64%,#249b48 65%);border-bottom:5px solid #e7f5e9}
.goal-net{position:absolute;right:40px;bottom:15px;width:150px;height:115px;border:7px solid #f5f5f5;background:repeating-linear-gradient(90deg,transparent 0 16px,#ffffff55 17px 19px),repeating-linear-gradient(0deg,transparent 0 16px,#ffffff55 17px 19px)}
.soccer-ball{position:absolute;left:185px;bottom:28px;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 27%,#222 28% 39%,#fff 40% 66%,#222 67% 76%,#fff 77%);box-shadow:0 5px 7px #0005}
.soccer-ball.kick{animation:kickBall .65s ease-in-out}
@keyframes kickBall{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(380px,-110px) rotate(500deg)}100%{transform:translate(500px,-35px) rotate(800deg)}}
.goalkeeper{position:absolute;right:92px;bottom:38px;width:35px;height:70px;border-radius:17px 17px 8px 8px;background:linear-gradient(#ffcf32 0 48%,#17252e 49%);transition:transform .08s linear}
.score-board{position:absolute;right:245px;top:10px;padding:10px 20px;border-radius:9px;background:#07141f;color:#fff;font:900 24px Arial;border:2px solid #ffffff44;box-shadow:0 7px 16px #0007}
.score-board.won{transform:scale(1.15);box-shadow:0 0 28px #65ff9a}

/* Museu do Amanhã: terminais e portal */
.terminal{position:absolute;width:68px;height:115px;z-index:8}
.terminal-screen{position:absolute;left:6px;top:0;width:56px;height:67px;border-radius:8px;background:#132b3c;border:3px solid #50758a;box-shadow:inset 0 0 14px #000}
.terminal-screen:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#e24a45;box-shadow:0 0 10px #e24a45}
.terminal-base{position:absolute;left:21px;top:67px;width:27px;height:48px;background:linear-gradient(90deg,#465762,#9aacb6,#465762);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.terminal.active .terminal-screen{border-color:#62f3c0;box-shadow:0 0 22px #62f3c0}
.terminal.active .terminal-screen:after{background:#62f3c0;box-shadow:0 0 17px #62f3c0}
.future-portal{position:absolute;width:115px;height:150px;border:7px solid #4c5968;border-radius:60px 60px 10px 10px;background:#0b1720bb;z-index:8;box-shadow:inset 0 0 30px #000}
.future-portal.open{border-color:#55e9d1;background:radial-gradient(ellipse,#89fff0aa,#137b8baa 45%,#06121dcc 72%);box-shadow:0 0 35px #55e9d1}
.future-portal.enter{animation:portalEnter .9s ease-in forwards}
@keyframes portalEnter{to{filter:brightness(2.5);transform:scale(1.12)}}

/* Lapa: arena final */
.boss-arena-mark{position:absolute;width:720px;height:22px;border-radius:50%;background:radial-gradient(ellipse,#ff5b4444,transparent 70%);z-index:2;animation:arenaPulse 1.2s infinite alternate}
@keyframes arenaPulse{to{transform:scaleX(.94);opacity:.55}}


/* V16 — fases com mecânicas próprias do começo ao fim */

/* Barreiras funcionais: impedem atravessar a fase abaixado pelo chão */
.phase-barrier{
  position:absolute;
  width:74px;
  height:165px;
  z-index:12;
  bottom:auto;
  pointer-events:none;
  transition:opacity .55s ease,transform .55s ease,filter .55s ease;
}
.phase-barrier .barrier-core{position:absolute;inset:0;border-radius:12px}
.phase-barrier.stone .barrier-core{
  background:linear-gradient(90deg,#655b52,#9a8b7d,#5a5048);
  box-shadow:inset 0 0 0 4px #3f3730,0 8px 18px #0006;
  clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);
}
.phase-barrier.cable-gate .barrier-core{
  background:repeating-linear-gradient(90deg,#343d43 0 8px,#d9b334 8px 16px);
  border:5px solid #202a30;border-radius:8px;
}
.phase-barrier.water-gate .barrier-core{
  width:92px;background:linear-gradient(#58c9e9aa,#107aaaee);
  clip-path:polygon(0 28%,18% 12%,34% 31%,50% 10%,68% 29%,84% 12%,100% 27%,100% 100%,0 100%);
  box-shadow:0 10px 25px #137fa688;
}
.phase-barrier.turnstile .barrier-core{
  background:repeating-linear-gradient(90deg,#c5cbd0 0 6px,#3a444c 6px 12px);
  border:5px solid #18232b;
}
.phase-barrier.laser-gate .barrier-core{
  width:90px;background:repeating-linear-gradient(90deg,transparent 0 14px,#46e9ff 15px 20px);
  border-left:7px solid #425663;border-right:7px solid #425663;
  box-shadow:0 0 24px #46e9ff;
}
.phase-barrier.combat-gate .barrier-core{
  width:94px;background:repeating-linear-gradient(-45deg,#efbb32 0 14px,#23282d 14px 28px);
  border:5px solid #242b30;clip-path:polygon(0 20%,100% 20%,92% 80%,8% 80%);
}
.phase-barrier.open{opacity:0;transform:translateY(-55px) scale(.85);filter:blur(2px)}

/* Cristo — mirantes obrigam a subir pelas plataformas */
.peak-marker{position:absolute;width:92px;height:130px;z-index:9;pointer-events:none}
.peak-ring{position:absolute;left:20px;top:34px;width:48px;height:48px;border-radius:50%;border:6px solid #ffd75d;background:#fff8d833;box-shadow:0 0 20px #ffd75d}
.peak-beam{position:absolute;left:42px;top:80px;width:8px;height:45px;background:linear-gradient(#d6c5a3,#725e43)}
.peak-marker.active .peak-ring{background:#76f0b6;box-shadow:0 0 30px #76f0b6;border-color:#ecfff6;transform:scale(1.08)}

/* Pão de Açúcar — três estações ao longo da fase */
.cable-station{position:absolute;width:230px;height:180px;z-index:9;pointer-events:none}
.cable-wire{position:absolute;left:-120px;top:18px;width:360px;height:4px;background:#1d252b;transform:rotate(-5deg)}
.cable-station .tower{position:absolute;left:22px;top:30px;width:12px;height:135px;background:linear-gradient(90deg,#3b4a52,#aab8bf,#39464d)}
.cable-station .gondola{position:absolute;left:80px;top:42px;width:98px;height:72px;border:5px solid #253743;border-radius:17px 17px 25px 25px;background:linear-gradient(#effbff,#8ed1eb);box-shadow:0 9px 18px #0005}
.cable-station .gondola i{position:absolute;top:15px;width:29px;height:28px;border-radius:5px;background:#2b718e}
.cable-station .gondola i:first-child{left:12px}.cable-station .gondola i:last-child{right:12px}
.cable-station.ride .gondola{animation:gondolaPulse .48s ease-in-out}
.cable-station.depart .gondola{animation:gondolaLeave 1.1s ease-in forwards}
@keyframes gondolaPulse{50%{transform:translateY(-12px) scale(1.05)}}
@keyframes gondolaLeave{to{transform:translate(320px,-130px) scale(.78);opacity:.15}}

/* Copacabana — travessias de água espalhadas pela fase */
.water-crossing{position:absolute;width:390px;height:80px;z-index:3;background:linear-gradient(#68d5f0aa,#0d7eb7dd);border-radius:55% 45% 0 0;animation:waterBob 1.3s ease-in-out infinite alternate}
@keyframes waterBob{to{transform:translateY(5px)}}
.beach-boat{position:absolute;width:150px;height:110px;z-index:9;pointer-events:none}
.small-hull{position:absolute;left:15px;bottom:12px;width:120px;height:37px;background:linear-gradient(#f3ead9,#c4793c);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%)}
.small-mast{position:absolute;left:73px;bottom:48px;width:5px;height:57px;background:#62472e}
.small-sail{position:absolute;left:78px;bottom:52px;width:48px;height:48px;background:#fff0c7;clip-path:polygon(0 0,0 100%,100% 100%)}
.beach-boat.cross{animation:boatCross .55s ease-out}
.beach-boat.depart{animation:boatFinal 1.2s ease-in forwards}
@keyframes boatCross{50%{transform:translate(120px,-8px)}100%{transform:translate(235px,0)}}
@keyframes boatFinal{to{transform:translate(600px,-6px) scale(.78);opacity:.15}}

/* Maracanã — três desafios de gol distribuídos no estádio */
.soccer-challenge{position:absolute;width:720px;height:205px;z-index:8;background:linear-gradient(transparent 67%,#258f48 68%);pointer-events:none}
.mini-goal{position:absolute;right:25px;bottom:14px;width:145px;height:108px;border:7px solid #f4f4f4;background:repeating-linear-gradient(90deg,transparent 0 15px,#ffffff55 16px 18px),repeating-linear-gradient(0deg,transparent 0 15px,#ffffff55 16px 18px)}
.mini-ball{position:absolute;left:104px;bottom:28px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 27%,#222 28% 39%,#fff 40% 66%,#222 67% 76%,#fff 77%);box-shadow:0 5px 7px #0005}
.mini-ball.kick{animation:miniKick .62s ease-in-out}
.mini-keeper{position:absolute;right:75px;bottom:38px;width:34px;height:70px;border-radius:17px 17px 8px 8px;background:linear-gradient(#ffc934 0 48%,#17252e 49%)}
.mini-score{position:absolute;right:220px;top:8px;width:48px;height:37px;border-radius:7px;background:#07141f;color:#fff;text-align:center;font:900 25px/37px Arial;border:2px solid #ffffff55}
.soccer-challenge.scored .mini-score{background:#17864a;box-shadow:0 0 22px #55efa0}
@keyframes miniKick{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(360px,-100px) rotate(480deg)}100%{transform:translate(500px,-28px) rotate(760deg)}}

/* Museu — terminais obrigatórios em diferentes alturas */
.tech-node{position:absolute;width:76px;height:120px;z-index:9;pointer-events:none}
.node-screen{position:absolute;left:8px;top:0;width:60px;height:68px;border-radius:9px;background:#102737;border:4px solid #557382;box-shadow:inset 0 0 16px #000}
.node-screen:after{content:"";position:absolute;inset:15px;border-radius:50%;background:#e64849;box-shadow:0 0 12px #e64849}
.node-leg{position:absolute;left:25px;top:68px;width:28px;height:48px;background:linear-gradient(90deg,#445662,#a9bbc4,#445662);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.tech-node.active .node-screen{border-color:#5df1c0;box-shadow:0 0 24px #5df1c0}
.tech-node.active .node-screen:after{background:#5df1c0;box-shadow:0 0 18px #5df1c0}

.soccer-area,.terminal,.cable-car,.sea-strip,.finish-boat{display:none!important}

/* V17 — logo secreta da escola */
.school-secret{position:absolute;width:86px;height:86px;z-index:11;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:schoolFloat 1.25s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 17px #ffd95a)}
.school-secret img{position:relative;z-index:2;width:72px;height:72px;object-fit:contain;border-radius:50%;background:#ffffffea;padding:4px}
.secret-aura{position:absolute;inset:-11px;border-radius:50%;background:radial-gradient(circle,#fff8bbcc 0 22%,#ffd94a66 38%,transparent 70%);animation:schoolAura .8s ease-in-out infinite alternate}
.school-secret.collected{animation:schoolCollect .5s ease-out forwards}
.secret-hud{position:fixed;right:18px;top:82px;z-index:999;min-width:74px;height:42px;padding:4px 10px 4px 5px;display:flex;align-items:center;gap:7px;border-radius:22px;background:#09131ddd;border:1px solid #ffffff44;box-shadow:0 5px 15px #0007;color:#fff;font:800 15px Arial,sans-serif;pointer-events:none}
.secret-hud img{width:34px;height:34px;object-fit:contain;border-radius:50%;background:#fff}
@keyframes schoolFloat{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-11px) rotate(2deg)}}
@keyframes schoolAura{from{transform:scale(.88);opacity:.55}to{transform:scale(1.13);opacity:1}}
@keyframes schoolCollect{0%{transform:scale(1);opacity:1}55%{transform:scale(1.65) rotate(15deg);opacity:1;filter:brightness(2.2)}100%{transform:scale(.1) rotate(80deg);opacity:0}}

/* V18 — recipientes secretos quebráveis */
.breakable{position:absolute;z-index:10;width:88px;height:78px;pointer-events:none;filter:drop-shadow(0 6px 5px #0006)}
.breakable.crate{background:linear-gradient(135deg,#a9692f,#74401e);border:5px solid #563019;border-radius:5px;box-shadow:inset 0 0 0 3px #c98a47}
.crate-plank{position:absolute;background:#d0924d;box-shadow:0 1px 2px #0005}
.crate-plank.p1{left:37px;top:-3px;width:10px;height:76px}
.crate-plank.p2{left:3px;top:31px;width:76px;height:10px;transform:rotate(34deg)}
.crate-plank.p3{left:3px;top:31px;width:76px;height:10px;transform:rotate(-34deg)}
.breakable.rock{width:94px;height:72px}
.rock-piece{position:absolute;background:linear-gradient(145deg,#8c9295,#4c555b);box-shadow:inset -8px -7px 10px #27313988}
.rock-piece.r1{left:5px;bottom:0;width:80px;height:55px;clip-path:polygon(14% 30%,35% 4%,69% 0,96% 38%,84% 100%,10% 94%,0 58%)}
.rock-piece.r2{left:45px;bottom:32px;width:40px;height:34px;clip-path:polygon(10% 40%,45% 0,95% 35%,72% 100%,0 85%)}
.rock-piece.r3{left:4px;bottom:30px;width:42px;height:31px;clip-path:polygon(0 45%,42% 0,100% 38%,78% 100%,12% 90%)}
.breakable.broken{animation:breakObject .45s ease-out forwards}
@keyframes breakObject{0%{transform:scale(1)}45%{transform:scale(1.18) rotate(5deg);filter:brightness(1.6)}100%{transform:scale(.15) rotate(25deg);opacity:0}}
.school-secret.revealed{animation:secretReveal .35s ease-out,schoolFloat 1.25s .35s ease-in-out infinite alternate}
@keyframes secretReveal{from{transform:scale(.1) translateY(35px);opacity:0}to{transform:scale(1);opacity:1}}

/* V19 — personagem adulto armado e caixotes funcionais */
#heroWrap{width:126px!important;height:150px!important;overflow:visible!important}
#hero{width:126px!important;height:150px!important;object-fit:contain!important;object-position:center bottom!important}
.breakable.rock{display:none!important}
.breakable.crate.cracked{
  filter:drop-shadow(0 6px 5px #0006) brightness(1.08);
  transform:rotate(-1deg);
}
.breakable.crate.cracked:after{
  content:"";
  position:absolute;
  left:15px;top:8px;width:58px;height:58px;
  background:
    linear-gradient(55deg,transparent 46%,#2b170d 47% 51%,transparent 52%) 4px 3px/34px 30px no-repeat,
    linear-gradient(-48deg,transparent 46%,#2b170d 47% 51%,transparent 52%) 29px 20px/38px 34px no-repeat;
  opacity:.9;
}
.hero-shoot #hero{filter:drop-shadow(0 5px 3px #0005)}

/* VERSÃO FINAL — Gabi */
#heroWrap{width:126px!important;height:150px!important;overflow:visible!important}
#hero{width:126px!important;height:150px!important;object-fit:contain!important;object-position:center bottom!important}

/* VERSÃO FINAL REALISTA — GABI */
#heroWrap{
  width:136px!important;
  height:158px!important;
  overflow:visible!important;
}
#hero{
  width:136px!important;
  height:158px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.38));
  image-rendering:auto!important;
}
.hero-walk #hero{animation:realWalkBob .34s ease-in-out infinite alternate}
.hero-run #hero{animation:realRunBob .20s ease-in-out infinite alternate}
.hero-idle #hero{animation:realBreath 1.25s ease-in-out infinite alternate}
.hero-crouch #hero{transform-origin:center bottom}
.hero-jump #hero,.hero-boost #hero{filter:drop-shadow(0 8px 5px rgba(0,0,0,.3))}
@keyframes realWalkBob{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes realRunBob{from{transform:translateY(1px)}to{transform:translateY(-3px)}}
@keyframes realBreath{from{transform:translateY(0)}to{transform:translateY(-1px)}}

/* ===== MENU PROFISSIONAL APROVADO ===== */
#start{
  visibility:hidden;
}
.start-screen-final{
  position:fixed;inset:0;z-index:9999;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:#0a151e;color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  transition:opacity .18s ease,transform .18s ease;
}
.start-screen-final.leaving{opacity:0;transform:scale(1.01)}
.menu-final-bg{
  position:absolute;inset:0;
  background:url("assets/ui/menu-final.jpg") center center/cover no-repeat;
}
.menu-final-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(5,15,24,.40) 0%,rgba(5,15,24,.18) 42%,rgba(5,15,24,.40) 100%),
    linear-gradient(0deg,rgba(4,10,16,.64) 0%,transparent 35%,rgba(4,10,16,.32) 100%);
}
.menu-final-brand{
  position:relative;z-index:3;
  margin-left:31vw;
  width:min(550px,46vw);
  text-align:center;
  padding:24px 28px 28px;
  border-radius:22px;
  background:rgba(7,18,28,.30);
  backdrop-filter:blur(4px);
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.menu-school{
  font:800 clamp(12px,1.1vw,16px)/1.3 Arial,sans-serif;
  letter-spacing:.18em;text-shadow:0 3px 14px #000;
}
.menu-title{
  margin:8px 0 2px;
  font:900 clamp(58px,7.8vw,105px)/.88 Arial Black,Arial,sans-serif;
  letter-spacing:-.065em;text-shadow:0 8px 28px rgba(0,0,0,.55);
}
.menu-title span{color:#ffd31a}
.menu-subtitle{
  margin:13px 0 24px;
  font:700 clamp(11px,1.05vw,15px)/1.3 Arial,sans-serif;
  letter-spacing:.17em;text-shadow:0 3px 10px #000;
}
.menu-btn-main,.menu-btn-secondary{
  display:block;width:min(420px,92%);margin:8px auto;
  border-radius:12px;cursor:pointer;font-family:Arial,sans-serif;
  font-weight:900;letter-spacing:.05em;transition:.18s ease;
}
.menu-btn-main{
  height:68px;border:2px solid #fff0a2;
  background:linear-gradient(#ffe843,#ffbd0d);color:#111923;
  font-size:28px;box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.menu-btn-secondary{
  height:54px;border:1px solid rgba(255,255,255,.38);
  background:rgba(10,23,34,.90);color:#fff;font-size:18px;
}
.menu-btn-main:hover,.menu-btn-secondary:hover{transform:translateY(-2px)}
.menu-final-footer{
  position:absolute;z-index:3;bottom:18px;left:50%;
  transform:translateX(-50%);width:95%;text-align:center;
  font:700 12px/1.2 Arial,sans-serif;letter-spacing:.08em;
  text-shadow:0 2px 8px #000;
}
.menu-modal{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.72);
}
.menu-modal.hidden{display:none}
.menu-modal-card{
  width:min(500px,88vw);background:#102230;color:#fff;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;padding:30px;position:relative;
  box-shadow:0 20px 70px rgba(0,0,0,.65);
}
.menu-modal-card h2{margin:0 0 20px;font-size:30px}
.menu-modal-card p{font-size:17px;line-height:1.5;margin:7px 0}
.menu-modal-close{
  position:absolute;top:8px;right:12px;border:0;
  background:transparent;color:#fff;font-size:32px;cursor:pointer;
}
#nameInput{display:none!important}
@media(max-width:900px){
  .menu-final-brand{margin-left:26vw;width:60vw;padding:20px}
}
@media(max-width:650px){
  .menu-final-bg{background-position:37% center}
  .menu-final-brand{margin-left:18vw;width:72vw;background:rgba(7,18,28,.44)}
  .menu-school{font-size:10px}
  .menu-title{font-size:52px}
  .menu-btn-main{height:58px;font-size:23px}
  .menu-btn-secondary{height:48px;font-size:16px}
}

/* CORREÇÃO DEFINITIVA DE VISIBILIDADE DA GABI */
#nameInput{display:none!important}
#heroWrap{
  width:132px!important;
  height:158px!important;
  overflow:visible!important;
  z-index:20!important;
  opacity:1!important;
  visibility:visible!important;
}
#hero{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  width:154px!important;
  height:168px!important;
  left:-11px!important;
  bottom:-2px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  z-index:21!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 7px 5px rgba(0,0,0,.30))!important;
}
#heroWrap.hero-crouch #hero,
#heroWrap.hero-slide #hero{
  width:168px!important;
  height:155px!important;
  left:-18px!important;
  bottom:-2px!important;
}


/* ===== Ajustes sutis da Gabi aprovada ===== */
#paintLauncher{
  display:none;
  position:absolute;
  width:96px;
  height:62px;
  object-fit:contain;
  z-index:25;
  pointer-events:none;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.34));
}
#heroWrap.hero-shoot #paintLauncher{
  display:block;
}
#heroWrap.hero-shoot.facing-right #paintLauncher{
  left:66px;
  top:50px;
  transform:rotate(-5deg);
  transform-origin:20% 60%;
}
#heroWrap.hero-shoot.facing-left #paintLauncher{
  left:-31px;
  top:50px;
  transform:scaleX(-1) rotate(-5deg);
  transform-origin:80% 60%;
}

/* As animações vêm dos próprios quadros, sem deformar as poses. */
#heroWrap.hero-walk #hero,
#heroWrap.hero-run #hero,
#heroWrap.hero-jump #hero,
#heroWrap.hero-boost #hero,
#heroWrap.hero-crouch #hero,
#heroWrap.hero-shoot #hero{
  animation:none!important;
  transform:none!important;
}


/* =========================================================
   GABI — MOVIMENTO NATURAL / SEM EFEITO CINZA
   ========================================================= */
#hero,
#heroWrap #hero,
#heroWrap.hero-idle #hero,
#heroWrap.hero-walk #hero,
#heroWrap.hero-run #hero,
#heroWrap.hero-jump #hero,
#heroWrap.hero-boost #hero,
#heroWrap.hero-crouch #hero,
#heroWrap.hero-slide #hero,
#heroWrap.hero-shoot #hero,
#heroWrap.hero-turn #hero{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  filter:none!important;
}

/* Remove rastro/duplicação visual do dash sem alterar a física */
#heroWrap.hero-dash,
#heroWrap.hero-dash #hero{
  filter:none!important;
  box-shadow:none!important;
}

/* Não movimentar a imagem inteira via CSS.
   O movimento agora vem dos seis quadros reais de pernas. */
#heroWrap.hero-walk,
#heroWrap.hero-run,
#heroWrap.hero-walk #hero,
#heroWrap.hero-run #hero{
  animation:none!important;
  transform:none!important;
}

/* Correção final: personagem sempre transparente, sem fundo cinza durante animação */
#hero,
#heroWrap #hero,
#heroWrap.hero-idle #hero,
#heroWrap.hero-walk #hero,
#heroWrap.hero-run #hero,
#heroWrap.hero-jump #hero,
#heroWrap.hero-boost #hero,
#heroWrap.hero-crouch #hero,
#heroWrap.hero-slide #hero,
#heroWrap.hero-shoot #hero,
#heroWrap.hero-turn #hero {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
}


/* ===== FINAL: transparência limpa em todos os quadros da Gabi ===== */
#hero,
#heroWrap #hero{
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  transition:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  isolation:auto!important;
}
#heroWrap{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
}


/* ===== FINAL 4: sem fundo cinza em nenhum quadro de movimento ===== */
#hero,
#heroWrap,
#heroWrap #hero,
#heroWrap.hero-idle #hero,
#heroWrap.hero-walk #hero,
#heroWrap.hero-run #hero,
#heroWrap.hero-jump #hero,
#heroWrap.hero-boost #hero,
#heroWrap.hero-crouch #hero,
#heroWrap.hero-slide #hero,
#heroWrap.hero-shoot #hero,
#heroWrap.hero-turn #hero{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  mix-blend-mode:normal!important;
}

/* GABI — referência aprovada, sem redesenho */
#hero,#heroWrap,#heroWrap #hero{
 background:transparent!important;
 background-image:none!important;
 box-shadow:none!important;
 filter:none!important;
 backdrop-filter:none!important;
 mix-blend-mode:normal!important;
}
#shadow{display:none!important;}

/* V15 — Copacabana marítima, pênaltis do Maracanã e chefão final */
.ocean-stage{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.ocean-sky{position:absolute;inset:0 0 42%;background:linear-gradient(#68c9f0,#c8efff)}.ocean-water{position:absolute;left:0;right:0;top:58%;bottom:0;background:linear-gradient(#0784bb,#034d78)}.ocean-waves{position:absolute;left:0;right:0;top:56%;height:90px;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.8) 0 8px,transparent 9px 42px);animation:oceanMove 2s linear infinite}@keyframes oceanMove{to{transform:translateX(75px)}}
.sea-boat{position:absolute;height:72px;z-index:8;filter:drop-shadow(0 8px 6px #001a)}.sea-boat .boat-hull{position:absolute;left:0;bottom:0;width:100%;height:44px;background:linear-gradient(#b75331,#6f291b);clip-path:polygon(0 0,100% 0,87% 100%,13% 100%);border-top:6px solid #f6f3e9}.sea-boat .boat-cabin{position:absolute;left:30%;bottom:43px;width:40%;height:31px;background:#f5f5ef;border:4px solid #24546d}.sea-boat .boat-rail{position:absolute;left:8%;right:8%;bottom:49px;border-top:3px solid #e7edf0}.final-sea-boat{filter:drop-shadow(0 0 18px #fff)}
.sea-danger{position:absolute;z-index:7;font-size:58px;font-weight:900;color:#173748;filter:drop-shadow(0 4px 3px #0018)}.sea-danger.jelly{color:#e6b3ff}.sea-danger.wave{font-size:90px;color:#fff}
.penalty-field{position:absolute;inset:0;width:1800px;height:100%;z-index:1;background:linear-gradient(#15263e 0 31%,#1d8640 31%)}.stadium-crowd{height:31%;background:repeating-linear-gradient(90deg,#152138 0 5px,#eee1bd 6px 8px,#7c1c2c 9px 11px)}.penalty-grass{position:absolute;left:0;right:0;top:31%;bottom:0;background:repeating-linear-gradient(90deg,#1d8a43 0 150px,#258f48 150px 300px)}.penalty-area{position:absolute;left:455px;top:20px;width:820px;height:430px;border:5px solid #fff9}.big-goal{position:absolute;left:680px;top:45px;width:400px;height:220px;border:12px solid #fff;box-sizing:border-box}.goal-net{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 24px,#ffffff66 25px 27px),repeating-linear-gradient(90deg,transparent 0 24px,#ffffff66 25px 27px)}.penalty-keeper{position:absolute;left:160px;bottom:10px;width:60px;height:108px;background:#ffc42b;border-radius:30px 30px 12px 12px;transition:transform .35s}.penalty-ball{position:absolute;left:855px;top:480px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 44%,#111 45% 56%,#fff 57%);z-index:12}.penalty-ball.kick{animation:penaltyKick .7s forwards}@keyframes penaltyKick{to{transform:translate(var(--kickx),var(--kicky)) scale(.55)}}.penalty-spot{position:absolute;left:873px;top:522px;width:9px;height:9px;border-radius:50%;background:#fff}
.penalty-panel{position:absolute;z-index:100;left:50%;bottom:18px;transform:translateX(-50%);background:#06111deb;color:#fff;padding:12px 18px;border:1px solid #ffffff33;border-radius:14px;text-align:center;min-width:460px}.penalty-panel>span{margin-left:18px}.aim-row{margin:9px 0}.aim-row button{padding:7px 11px;border:1px solid #ffffff55;border-radius:8px;background:#152b40;color:#fff}.aim-row button.active{outline:3px solid #ffd54a}.power{height:12px;background:#1d2630;border-radius:8px;overflow:hidden;margin:8px 0}.power i{display:block;height:100%;width:45%;background:linear-gradient(90deg,#46d86b,#ffe05d,#ff554d)}
.final-arena{width:900px!important;height:320px!important;background:linear-gradient(transparent,#211522);overflow:hidden}.lapa-arches{position:absolute;left:0;right:0;bottom:0;height:180px;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 53px,#d7d0c4 55px 73px,transparent 75px 150px);opacity:.8}.arena-lights{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,#ffd76b 0 4px,transparent 5px),radial-gradient(circle at 78% 17%,#ff5b5b 0 4px,transparent 5px)}.boss-title{position:absolute;top:10px;width:100%;text-align:center;color:#fff;font-weight:1000;letter-spacing:4px}
.final-boss{position:relative;width:260px;height:205px;background:linear-gradient(#555f6c,#151a21);border:6px solid #929daa;border-radius:42% 42% 25% 25%;filter:drop-shadow(0 0 18px #f43)}.boss-propeller{position:absolute;top:-26px;width:105px;height:12px;background:#101419;border-radius:50%}.boss-propeller.left{left:-72px}.boss-propeller.right{right:-72px}.boss-eye{position:absolute;left:95px;top:42px;width:60px;height:34px;background:#ff2929;border-radius:50%;box-shadow:0 0 22px #f00}.boss-armor{position:absolute;left:48px;top:92px;width:152px;height:65px;border:5px solid #aeb7c2;border-radius:18px}.final-boss .boss-core{position:absolute;bottom:10px;width:100%;text-align:center;color:#fff;font-weight:1000}.boss-hpbar{position:absolute;left:20px;right:20px;bottom:-28px;height:14px;background:#2c0b0b;border:2px solid #fff}.boss-hpbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff3434,#ff9c2e)}#boss[data-stage="2"] .final-boss{filter:drop-shadow(0 0 24px #ff9c2e)}#boss[data-stage="3"] .final-boss{animation:bossRage .18s infinite alternate;filter:drop-shadow(0 0 30px #f22)}@keyframes bossRage{to{transform:translateY(-5px) rotate(1deg)}}.boss-fire{box-shadow:0 0 18px #ff6a00!important}
.phase-pick-menu{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin-top:16px}.phase-pick-menu button{padding:12px;border:1px solid #ffffff33;border-radius:10px;background:#10273b;color:#fff;font-weight:800;cursor:pointer}.phase-pick-menu button:hover{background:#174261}
\n/* Maracanã: travessia sobre bolas gigantes */\n.maracana-platform-stage{position:absolute;inset:0;width:4300px;height:100%;z-index:0;background:linear-gradient(#17365d 0 30%,#208847 30% 100%);overflow:hidden}.maracana-stands{position:absolute;left:0;right:0;top:0;height:32%;background:repeating-linear-gradient(90deg,#172238 0 8px,#f2d9a6 9px 12px,#8d2034 13px 17px)}.maracana-field{position:absolute;left:0;right:0;top:32%;bottom:0;background:repeating-linear-gradient(90deg,#218f49 0 180px,#278449 180px 360px)}.maracana-banner{position:absolute;top:42px;left:0;width:100%;text-align:center;color:#fff;font-size:44px;font-weight:1000;letter-spacing:12px;text-shadow:0 4px 10px #000}.soccer-ball-platform{position:absolute;z-index:7;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff 0 36%,#e7e7e7 60%,#bfc3c7 100%);border:5px solid #161616;box-shadow:inset -18px -22px 30px #0002,0 18px 20px #0006;transform-origin:50% 50%}.soccer-ball-platform:before{content:"";position:absolute;left:36%;top:34%;width:28%;height:28%;background:#111;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}.soccer-ball-platform i{position:absolute;width:22%;height:22%;background:#111;clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}.soccer-ball-platform i:nth-child(1){left:7%;top:18%}.soccer-ball-platform i:nth-child(2){right:6%;top:20%}.soccer-ball-platform i:nth-child(3){left:13%;bottom:10%}.soccer-ball-platform i:nth-child(4){right:13%;bottom:9%}.soccer-ball-platform i:nth-child(5){left:39%;bottom:-2%}.final-ball-platform{box-shadow:inset -18px -22px 30px #0002,0 0 30px #ffe266,0 18px 20px #0007}\n/* Fase 7: drone grande, sem texto no corpo */\n.drone-arena{width:1250px!important;height:360px!important}.drone-illustration.final-boss{width:390px;height:250px;background:none;border:0;border-radius:0;filter:drop-shadow(0 18px 20px #0009);overflow:visible}.drone-body{position:absolute;left:90px;top:55px;width:210px;height:140px;background:linear-gradient(145deg,#8793a0,#303944 48%,#111820);clip-path:polygon(18% 0,82% 0,100% 32%,88% 100%,12% 100%,0 32%);border-radius:28px;box-shadow:inset 0 0 0 6px #aab4bd,inset 0 -35px 45px #0008}.drone-camera{position:absolute;left:75px;top:48px;width:60px;height:48px;border-radius:50%;background:radial-gradient(circle,#ff3a32 0 20%,#4a0909 22% 45%,#090d12 47%);box-shadow:0 0 28px #f22}.drone-core-light{position:absolute;left:92px;bottom:15px;width:28px;height:16px;border-radius:50%;background:#49dfff;box-shadow:0 0 20px #49dfff}.drone-armor-lines{position:absolute;inset:20px;border:3px solid #d6dde3;border-radius:20px;opacity:.55}.drone-wing{position:absolute;top:45px;width:120px;height:36px;background:linear-gradient(#697681,#202832);border-radius:18px}.wing-left{left:0;transform:rotate(-8deg)}.wing-right{right:0;transform:rotate(8deg)}.drone-wing:before,.drone-wing:after{content:"";position:absolute;top:-28px;width:92px;height:12px;border-radius:50%;background:#10151a;box-shadow:0 0 0 5px #414a53}.drone-wing:before{left:-25px}.drone-wing:after{right:-25px}.drone-wing i{position:absolute;top:-38px;width:12px;height:34px;background:#3e4852}.drone-wing i:first-child{left:12px}.drone-wing i:last-child{right:12px}.drone-cannon{position:absolute;top:160px;width:24px;height:78px;background:linear-gradient(#7b8791,#151a20);border-radius:8px}.cannon-left{left:112px;transform:rotate(10deg)}.cannon-right{right:112px;transform:rotate(-10deg)}.drone-illustration .boss-hpbar{left:90px;right:90px;bottom:-5px}.lapa-exit{position:absolute;width:120px;height:175px;border:4px solid #e6d4a4;border-radius:55px 55px 0 0;background:#241d28;box-shadow:0 0 25px #ffd86b66}.lapa-exit-light{position:absolute;left:35px;top:35px;width:50px;height:50px;border-radius:50%;background:#ffe69a;box-shadow:0 0 40px #ffd45a}\n.soccer-ball-platform{background:none!important;border:0!important;box-shadow:none!important}.football-svg{width:100%;height:100%;filter:drop-shadow(0 18px 12px #0007)}.final-ball-platform .football-svg{filter:drop-shadow(0 0 18px #ffe169) drop-shadow(0 18px 12px #0008)}.soccer-ball-platform:before,.soccer-ball-platform i{display:none!important}#damageFlash{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;background:radial-gradient(circle,transparent 20%,rgba(255,0,0,.58) 100%)}#damageFlash.show{animation:damageFlash .38s ease-out}.damage-shake #viewport{animation:damageShake .34s}.life-hit{animation:lifeHit .5s!important}@keyframes damageFlash{0%{opacity:.95}100%{opacity:0}}@keyframes damageShake{20%,80%{transform:translateX(10px)}40%,60%{transform:translateX(-14px)}}@keyframes lifeHit{25%{transform:scale(1.65)}50%{transform:scale(.82)}}#boss{transition:left .22s,top .22s,opacity .18s,transform .18s}#boss.boss-vanish{opacity:0;transform:scale(.25) rotate(25deg);filter:blur(12px)}#boss.boss-appear{animation:bossAppear .28s}@keyframes bossAppear{0%{opacity:0;transform:scale(1.7);filter:blur(12px)}100%{opacity:1;transform:scale(1)}}.audio-menu{margin-top:10px;padding:10px 12px;border:1px solid #ffffff26;border-radius:12px;background:#06121db8}.audio-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;margin:7px 0;color:#fff;font-size:12px;font-weight:900}.audio-row input{width:100%;accent-color:#ffd31a}.audio-mute{width:100%;height:34px;border:1px solid #ffffff55;border-radius:8px;background:#142b3d;color:#fff;font-weight:900}.audio-mute.muted{background:#5b2020}
/* V3 - feedback de dano nunca pode bloquear a tela */
#damageFlash{display:block!important;opacity:0!important;visibility:hidden!important;background:rgba(210,0,0,.32)!important;transition:none!important}
#damageFlash.show{visibility:visible!important;animation:damageFlashV3 .20s ease-out forwards!important}
@keyframes damageFlashV3{0%{opacity:.48}100%{opacity:0}}

.shot-up{transform:rotate(-90deg)!important;box-shadow:0 0 12px #65d9ff!important}


/* FEIRA 2026 — responsividade e touch sem alterar arte/fases */
@media (hover:none),(pointer:coarse){
  .mobile{display:none!important}
  #viewport{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
  .hud{height:64px;padding:6px 8px;gap:5px}
  .player-card img{width:38px;height:38px}.player-card{padding:3px 6px 3px 3px}
  .stat{padding:7px 9px;font-size:12px}.life{font-size:15px}.phase-box{min-width:110px;padding:6px 8px}.phase-box b{font-size:10px}
  #pauseBtn{width:40px;height:40px}.mission{display:none!important}#dashBar{bottom:10px}
}
@media (hover:none) and (pointer:coarse) and (orientation:portrait){
  .hud{height:58px}.player-card div{display:none}.combo{display:none}.stat{padding:6px}.phase-box{min-width:90px}.phase-box b{font-size:9px}
}

/* FEIRA 2026 — correções finais mobile: agachar + orientação em qualquer fase */
@media (hover:none),(pointer:coarse){
  #heroWrap.hero-crouch,#heroWrap.hero-slide{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important;transform:none!important}
  #heroWrap.hero-crouch #hero,#heroWrap.hero-slide #hero{display:block!important;visibility:visible!important;opacity:1!important;animation:none!important;transform:none!important;transform-origin:center bottom!important;object-fit:contain!important;object-position:center bottom!important}
}

/* FEIRA 2026 — ajuste final: menu de fases centralizado em telas touch */
@media (hover:none),(pointer:coarse){
  .menu-modal{position:fixed!important;inset:0!important;padding:12px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:auto!important}
  .menu-modal.hidden{display:none!important}
  .menu-modal-card{position:relative!important;width:min(92vw,620px)!important;max-width:92vw!important;min-width:0!important;max-height:92vh!important;margin:auto!important;padding:20px 16px!important;box-sizing:border-box!important;overflow:auto!important}
  .phase-pick-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:8px!important}
  .phase-pick-menu button{min-width:0!important;width:100%!important;padding:10px 6px!important;font-size:13px!important;white-space:normal!important;overflow-wrap:anywhere!important}
}
@media (hover:none) and (pointer:coarse) and (max-width:600px){.phase-pick-menu{grid-template-columns:1fr!important}.menu-modal-card h2{font-size:24px!important}.menu-modal-card p{font-size:14px!important}}

/* Encerramento educativo e créditos */
.history-card{max-width:680px;margin:14px auto 18px;padding:14px 18px;border-radius:16px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.22);text-align:left}.history-card b{display:block;text-align:center;font-size:15px;letter-spacing:1.5px;margin-bottom:7px}.history-card p{margin:0;font-size:15px;line-height:1.45}.credits-screen{position:fixed;inset:0;overflow:hidden;background:linear-gradient(180deg,#07111f,#0b2740 48%,#07111f);z-index:9999;color:#fff}.credits-roll{width:min(92vw,760px);margin:0 auto;text-align:center;padding:100vh 24px 28vh;animation:creditsUp 34s linear forwards}.credits-roll h1{font-size:clamp(42px,8vw,86px);margin:0 0 8px}.credits-roll h2{font-size:clamp(25px,5vw,44px);margin:15px 0 35px}.credits-roll h3{margin:42px 0 12px;font-size:clamp(18px,3vw,27px);text-transform:uppercase;letter-spacing:2px}.credits-roll p{margin:7px 0;font-size:clamp(14px,2vw,19px);line-height:1.35}.credits-highlight{font-size:clamp(18px,3vw,26px)!important}.credits-roll button{margin-top:42px;padding:14px 26px}@keyframes creditsUp{from{transform:translateY(0)}to{transform:translateY(calc(-100% + 100vh))}}@media(max-width:700px){.history-card{max-width:88vw;padding:10px 13px}.history-card p{font-size:13px}.credits-roll{animation-duration:40s;padding-left:14px;padding-right:14px}}
/* V17 — jogabilidade acessível e orientação contextual */
#gameGuide{position:absolute;z-index:45;transform:translate(-50%,-50%);max-width:290px;padding:10px 15px;border-radius:16px;background:#07172eef;border:2px solid #ffd736;color:#fff;font:900 14px Arial;text-align:center;box-shadow:0 8px 25px #0008,0 0 22px #ffd73655;opacity:0;pointer-events:none;transition:.2s}#gameGuide.visible{opacity:1;animation:guidePulse .8s ease-in-out infinite alternate}@keyframes guidePulse{to{transform:translate(-50%,-50%) scale(1.04)}}
.barrier-label{position:absolute;left:50%;bottom:174px;transform:translateX(-50%);width:180px;padding:6px 8px;border-radius:10px;background:#07172ee8;border:1px solid #ffd736;color:#fff;font:900 11px Arial;text-align:center;opacity:.92}.phase-barrier.open .barrier-label{display:none}
.peak-marker:not(.active) .peak-ring{animation:objectivePulse .7s ease-in-out infinite alternate}.cable-station:not(.ride):not(.departed) .gondola{animation:objectivePulse .8s ease-in-out infinite alternate}@keyframes objectivePulse{to{filter:brightness(1.45);transform:scale(1.08)}}
.task{font-size:12px!important}.task span{display:block;width:100%}.task.done{opacity:.75}

/* Maracanã V18: plataformas visíveis e seguras */
.platform.maracana-safe{z-index:8!important;height:48px!important;background:linear-gradient(#f2f2f2,#c9c9c9 18%,#1f6f3d 20%,#174f2e)!important;border-top:7px solid #fff!important;box-shadow:0 5px 0 #111,0 16px 22px #0008!important}.platform.maracana-safe:before{background:repeating-linear-gradient(90deg,#fff 0 36px,#222 36px 72px)!important;height:13px!important;top:-13px!important}.platform.maracana-safe:after{display:none!important}

.maracana-visible-platform{position:absolute;height:52px;z-index:30;box-sizing:border-box;border:5px solid #fff;border-radius:10px;background:repeating-linear-gradient(90deg,#176f3c 0 38px,#218a49 38px 76px);box-shadow:0 7px 0 #111,0 14px 20px #0009;pointer-events:none}.maracana-visible-platform:before{content:"";position:absolute;left:0;right:0;top:-15px;height:12px;background:repeating-linear-gradient(90deg,#fff 0 30px,#111 30px 60px);border:2px solid #111}.maracana-visible-platform span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;padding:4px 12px;border-radius:12px;background:#000b;color:#fff;font:900 15px Arial;letter-spacing:1px}.maracana-visible-platform i{position:absolute;right:18px;top:-40px;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:20px solid #ffe43b;filter:drop-shadow(0 2px 2px #000)}

/* Maracana V20: plataformas esportivas limpas; bolas passam à frente delas e continuam sendo obstáculos destrutíveis/desviáveis */
.platform.maracana-safe{z-index:6!important;height:42px!important;background:transparent!important;border:0!important;box-shadow:none!important}.platform.maracana-safe:before,.platform.maracana-safe:after{display:none!important}
.maracana-visible-platform{position:absolute;height:46px;z-index:6;box-sizing:border-box;border:0;border-radius:7px 7px 12px 12px;background:linear-gradient(180deg,#f8f8f8 0 5px,#2f914e 5px 17px,#26343b 17px 100%);box-shadow:0 5px 0 #172126,0 13px 18px #0007;pointer-events:none;overflow:visible}
.maracana-visible-platform:before{content:"";position:absolute;left:12px;right:12px;top:7px;height:3px;border-radius:2px;background:#fff;opacity:.95}
.maracana-visible-platform:after{content:"";position:absolute;left:18px;right:18px;bottom:-10px;height:10px;background:repeating-linear-gradient(135deg,#182228 0 12px,#34444c 12px 24px);clip-path:polygon(0 0,100% 0,97% 100%,3% 100%)}
.maracana-visible-platform .maracana-turf{position:absolute;left:0;right:0;top:5px;height:12px;border-radius:4px 4px 0 0;background:repeating-linear-gradient(90deg,#2b9b50 0 42px,#258a47 42px 84px)}
.maracana-visible-platform .maracana-deck{position:absolute;left:14px;right:14px;top:23px;height:8px;border-top:2px solid #53656d;border-bottom:2px solid #111a1f}
.soccer-hazard{z-index:8!important}
