/* «Planeta Chavito» (03/10/2026): simio colgado del logo de Chavito Games mientras abre un juego de Chavito.
   Decorativo: sin eventos de puntero, debajo de la barra del juego (Salir sigue andando). */
.chvm{--chvm-logo:clamp(108px,30vmin,210px);--chvm-top:max(14px,3.5vh);--chvm-aspect:.618;--chvm-ape-h:calc(var(--chvm-logo)*1.25);--chvm-ape-w:calc(var(--chvm-ape-h)*var(--chvm-aspect));position:absolute;inset:0;z-index:5;overflow:hidden;pointer-events:none;opacity:0;contain:layout paint;transition:opacity .35s ease}
.chvm-gorila{--chvm-aspect:.57}
.chvm.is-on{opacity:1}
.chvm.is-out{opacity:0;transition:opacity .5s ease .35s}
.chvm-sky{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 60%,transparent 90%);mask-image:linear-gradient(180deg,#000 0,#000 60%,transparent 90%);background:radial-gradient(ellipse at 50% 62%,#ff8a3d55 0,#9a2f8a33 32%,transparent 62%),linear-gradient(180deg,#1b0d2e 0%,#3b1748 46%,#120a1c 100%)}
.chvm-sky::before{content:"";position:absolute;inset:0;background:url("assets/chavito-mono/chv-planeta.webp?v=20261003-m1") 50% 38%/cover no-repeat;opacity:0;transform:scale(1.14);transition:opacity .6s ease}
.chvm-sky.is-ready::before{opacity:1}
.chvm-sky::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#090b1259 0%,#090b1200 28%,#090b1226 60%,#090b1299 82%)}
.chvm-glow{position:absolute;left:50%;top:58%;width:min(120vmin,900px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#ffb35c40 0,#ff5fa822 34%,transparent 64%);mix-blend-mode:screen}
.chvm-rig{position:absolute;left:50%;top:var(--chvm-top);width:var(--chvm-logo);transform:translateX(-50%)}
.chvm-logo{position:relative;z-index:2;display:block;width:100%;height:auto;transform-origin:50% 8%;filter:drop-shadow(0 12px 24px #000b) drop-shadow(0 0 18px #ffb35c55)}
/* El simio va detrás del cartel «GAMES»: la mano queda escondida bajo el borde, como si se agarrara. */
.chvm-swing{position:absolute;z-index:1;top:calc(var(--chvm-logo)*.8);left:calc(var(--chvm-logo)*.6 - var(--chvm-ape-w)*var(--chvm-hand));width:var(--chvm-ape-w);transform-origin:calc(var(--chvm-hand)*100%) 0}
.chvm-ape{display:block;width:100%;height:auto;transform-origin:calc(var(--chvm-hand)*100%) 4%;filter:drop-shadow(0 16px 18px #000c) drop-shadow(0 0 1px #ffb35c)}
.chvm-line{position:absolute;left:16px;right:16px;top:calc(var(--chvm-top) + var(--chvm-logo)*.8 + var(--chvm-ape-h) + 10px);margin:0;text-align:center;font:900 clamp(15px,4.4vmin,22px)/1.2 Inter,system-ui,sans-serif;letter-spacing:.01em;color:#ffe6c7;text-shadow:0 2px 0 #3a1030,0 0 18px #ff7a3d99,0 3px 14px #000;opacity:0}
.chvm.is-on .chvm-line{animation:chvm-fade .5s ease 1.25s both}
/* El «Cargando juego» de la sala baja: el cielo se desvanece abajo y lo deja ver (FutureBet pinta ahí su túnel). */
#gameShell.chv-opening-shell.chvm-host #gameLoading{justify-content:flex-end;padding-bottom:max(7vh,28px)}

@media (prefers-reduced-motion:no-preference){
  .chvm.is-on .chvm-sky::before{animation:chvm-zoom 9s ease-out both}
  .chvm.is-on .chvm-glow{animation:chvm-pulse 3.2s ease-in-out infinite alternate}
  .chvm.is-on .chvm-logo{animation:chvm-drop .75s cubic-bezier(.2,1.25,.4,1) both,chvm-jolt .8s ease-out 1.15s}
  .chvm.is-on .chvm-swing{animation:chvm-in 1.05s cubic-bezier(.25,.7,.3,1) .55s both,chvm-hang 1.8s ease-in-out 1.6s infinite alternate}
  .chvm.is-on.chvm-gorila .chvm-ape{animation:chvm-pound .3s ease-in-out 1.9s 6 alternate}
  .chvm.is-on.chvm-chimp .chvm-ape{animation:chvm-bob 1.1s ease-in-out 1.7s infinite alternate}
  .chvm.is-out .chvm-swing{animation:chvm-drop-out .7s cubic-bezier(.5,0,.9,.6) both}
}
.chvm-still .chvm-sky::before,.chvm-still .chvm-glow,.chvm-still .chvm-logo,.chvm-still .chvm-swing,.chvm-still .chvm-ape{animation:none!important}
.chvm-still .chvm-line{animation:none!important;opacity:1}

@keyframes chvm-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes chvm-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes chvm-pulse{from{opacity:.65;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes chvm-drop{0%{transform:translateY(-150%) rotate(-10deg)}62%{transform:translateY(5%) rotate(3deg)}82%{transform:translateY(-2%) rotate(-1deg)}100%{transform:none}}
/* El peso del simio sacude el cartel al agarrarse. */
@keyframes chvm-jolt{0%{transform:none}25%{transform:translateY(3%) rotate(4deg)}55%{transform:translateY(-1%) rotate(-2.5deg)}80%{transform:rotate(1deg)}100%{transform:none}}
/* Entra desde un costado colgado de una liana invisible y se engancha con un vaivén que se apaga. */
@keyframes chvm-in{0%{opacity:0;transform:translate(-55%,-35%) rotate(-82deg)}18%{opacity:1}55%{transform:rotate(24deg)}74%{transform:rotate(-12deg)}89%{transform:rotate(5deg)}100%{transform:rotate(0)}}
@keyframes chvm-hang{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@keyframes chvm-pound{from{transform:none}to{transform:translateY(3px) scale(1.025)}}
@keyframes chvm-bob{from{transform:rotate(-1.5deg)}to{transform:rotate(2deg) translateY(2px)}}
/* Se suelta y cae cuando el juego ya está. */
@keyframes chvm-drop-out{0%{transform:rotate(0)}30%{transform:translateY(-6%) rotate(-8deg)}100%{transform:translateY(140%) rotate(28deg);opacity:0}}
