/* Minions Turbo — overlay do treino guiado sobre a engine original (v7, 09/11/2026; base 6.0.0 do Codex e v5).
   Tokens da direção de arte sempre com fallback: var(--mr-x, valor). Identidade azul/amarela do Minions Turbo.
   Posições verticais vêm do JS (zona segura calculada pelo tamanho real do canvas): nada de top fixo para a ação.
   Referências adaptadas (não copiadas): Candy candy-jogo/css/tutorial-final.css (mão :41/:46/:50, moldura de energia :55,
   brilhos :42/:46, entrada/saída do card :46) e Bubble PARTES/04_TUTORIAL/estilos-da-parte.css (destaque :624-655,
   "sua vez" :764-800, ganho subindo :527). Tudo respeita prefers-reduced-motion. */
.mrt2{
  --mrt-amarelo:var(--mr-amarelo,#ffd83a); --mrt-amarelo-claro:var(--mr-amarelo-claro,#fff39a); --mrt-ciano:var(--mr-ciano,#3fdcff);
  --mrt-texto:var(--mr-texto,#f2f8ff); --mrt-texto-2:var(--mr-texto-2,#b7cde6); --mrt-linha:var(--mr-linha,rgba(120,200,255,.22));
  --mrt-linha-forte:var(--mr-linha-forte,rgba(120,200,255,.42)); --mrt-fundo:var(--mr-fundo,#041330);
  --mrt-ease:var(--mr-ease,cubic-bezier(.22,1,.36,1)); --mrt-ease-pop:var(--mr-ease-pop,cubic-bezier(.2,1.35,.4,1));
  --mrt-fonte:var(--mr-fonte,Poppins,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);
  /* títulos de ação: a mesma fonte arcade dos títulos da landing (.mrl-titulo/.mrl h2; Anton vem do index.html) */
  --mrt-arcade:var(--mr-fonte-arcade,Impact,Anton,"Arial Narrow",sans-serif);
  --mrt-card:linear-gradient(180deg,rgba(14,46,98,.94),rgba(5,22,52,.94));
  --mrt-card-borda:rgba(120,200,255,.32);
  --mrt-safe-top:env(safe-area-inset-top,0px); --mrt-safe-bottom:env(safe-area-inset-bottom,0px);
  --mrt-msg-top:96px; --mrt-msg-max:30%; --mrt-gesture-y:82%; --mrt-pop-y:52%; --mrt-arrow-y:64%; --mrt-arrow-dx:96px;
  --mrt-lane-x:0px; --mrt-gesture-dx:0px;
  position:absolute;inset:0;z-index:20;pointer-events:none;overflow:hidden;
  font-family:var(--mrt-fonte);color:var(--mrt-texto);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
/* o app aplica *{font-family:Poppins} a todo elemento; dentro do treino cada filho herda a fonte do pai */
.mrt2 *{font-family:inherit;box-sizing:border-box}
.mrt2 button{pointer-events:auto}
.mrt2-probe{position:absolute;left:0;top:0;width:0;height:0;visibility:hidden;padding-top:var(--mrt-safe-top);padding-bottom:var(--mrt-safe-bottom)}
.mrt2-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* cenário do laboratório enquanto a engine carrega (mesma linguagem da landing/auth) */
.mrt2-bg{position:absolute;inset:0;opacity:1;transition:opacity .6s var(--mrt-ease);
  background:radial-gradient(130% 70% at 50% 30%,transparent 45%,rgba(3,12,32,.6) 100%),
    linear-gradient(180deg,rgba(4,19,48,.5) 0,rgba(4,19,48,0) 16%,rgba(4,19,48,0) 58%,rgba(4,19,48,.8) 100%),
    url('/minions-rush/assets/bet/laboratory-corridor.webp') 50% 30%/cover no-repeat,var(--mr-fundo-3,#0d264f)}
.mrt2.is-ready.is-running .mrt2-bg{opacity:0}
/* desktop: as laterais fora da coluna do jogo mostram o corredor do laboratório; só na página do treino */
html.mrt2-page body{background-image:radial-gradient(130% 70% at 50% 30%,transparent 45%,rgba(3,12,32,.55) 100%),
    linear-gradient(180deg,rgba(4,19,48,.55) 0,rgba(4,19,48,0) 14%,rgba(4,19,48,0) 58%,rgba(4,19,48,.78) 100%),
    url('/minions-rush/assets/bet/laboratory-corridor.webp');
  background-position:center,center,50% 30%;background-size:cover}

/* pausa de ensino: vinheta suave em volta, pista e Minion visíveis */
.mrt2-dim{position:absolute;inset:0;opacity:0;transition:opacity .25s var(--mrt-ease);
  background:radial-gradient(ellipse 70% 44% at 50% 62%,transparent 42%,rgba(3,12,32,.55) 100%)}
.mrt2.is-hold .mrt2-dim{opacity:1}

/* ---------------- barra de cima: HUD à esquerda, som e pular à direita ---------------- */
.mrt2-top{position:absolute;top:0;left:0;right:0;z-index:7;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  padding:calc(12px + var(--mrt-safe-top)) 12px 0}
.mrt2-tools{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}
.mrt2-ico{flex:none;height:38px;min-width:38px;padding:0 12px;border-radius:999px;border:1px solid var(--mrt-card-borda);
  background:rgba(6,22,52,.86);color:#e4f4ff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  cursor:pointer;box-shadow:0 6px 14px rgba(0,8,24,.35);transition:transform .12s,background .2s,border-color .2s}
.mrt2-ico:hover{border-color:rgba(255,216,58,.55)}
.mrt2-ico svg{width:18px;height:18px}
.mrt2-mute{padding:0;width:38px}
.mrt2-skip{height:auto;min-height:30px;padding:6px 10px;font-size:10.5px;letter-spacing:.02em;white-space:nowrap}
.mrt2-ico:active{transform:scale(.95)}
.mrt2-ico:focus-visible,.mrt2-btn:focus-visible,.mrt2-next:focus-visible{outline:3px solid var(--mrt-amarelo-claro);outline-offset:3px}
.mrt2-ico[disabled]{opacity:.7;cursor:wait}
.mrt2-skip-s{display:none}
@media (max-width:360px){.mrt2-skip-l{display:none}.mrt2-skip-s{display:inline}}
.mrt2.has-sheet .mrt2-skip{display:none}

/* HUD do treino: espelha o HUD real (bananas · ACUMULADO · meta) com o selo "Treino grátis" */
.mrt2-hud{position:relative;display:none;align-items:center;gap:11px;pointer-events:none;
  width:calc(100% - 112px);max-width:340px;padding:9px 13px 10px 9px;border-radius:18px;
  background:var(--mrt-card);border:1px solid var(--mrt-card-borda);
  box-shadow:0 10px 22px rgba(0,8,24,.42),inset 0 1px 0 rgba(160,220,255,.2);transition:border-color .3s,box-shadow .3s}
.mrt2-hud.is-on{display:flex;animation:mrt2-drop .35s var(--mrt-ease)}
.mrt2-hud-ban{flex:none;position:relative;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 38%,rgba(255,216,58,.3),rgba(255,216,58,.05) 72%);border:1px solid rgba(255,216,58,.36)}
.mrt2-hud-ban i{width:30px;height:30px;background:center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.mrt2-hud-ban b{position:absolute;right:-7px;bottom:-7px;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:var(--mrt-amarelo);
  color:#2a1d00;font-size:11.5px;font-weight:800;line-height:20px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 2px 0 #a8770f}
.mrt2-hud-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mrt2-hud-label{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:9.5px;font-weight:800;letter-spacing:.12em;color:#9fc4e6}
.mrt2-hud-label em{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.02em;color:#86e9ff;padding:1px 7px;border-radius:999px;
  background:rgba(63,220,255,.12);border:1px solid rgba(63,220,255,.34);white-space:nowrap}
.mrt2-hud-txt{display:flex;justify-content:space-between;align-items:baseline;gap:8px;line-height:1.12;white-space:nowrap}
.mrt2-hud-txt b{display:inline-block;transform-origin:left 70%;font-size:clamp(19px,5vw,23px);font-weight:800;letter-spacing:-.01em;color:#fff;font-variant-numeric:tabular-nums}
.mrt2-hud-txt small{font-size:11.5px;font-weight:700;color:var(--mrt-amarelo)}
.mrt2-hud-bar{position:relative;display:block;height:7px;margin-top:2px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.mrt2-hud-bar i{position:relative;display:block;height:100%;width:0;border-radius:inherit;overflow:hidden;
  background:linear-gradient(90deg,#ffb21f,var(--mrt-amarelo) 62%,#fff29a);box-shadow:0 0 10px rgba(255,216,58,.55);transition:width .32s var(--mrt-ease)}
.mrt2-hud-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.7) 50%,transparent 65%);
  background-size:250% 100%;animation:mrt2-sheen 2.6s linear infinite}
.mrt2-hud.is-pop .mrt2-hud-txt b{animation:mrt2-count .34s var(--mrt-ease-pop)}
.mrt2-hud.is-pop .mrt2-hud-ban i{animation:mrt2-ban .34s var(--mrt-ease-pop)}
/* "+1" ao lado do valor (left/top vêm do JS), subindo só alguns px: fica dentro do HUD */
.mrt2-plus{position:absolute;left:150px;top:26px;font-size:14px;font-weight:900;line-height:1;color:#ffe873;pointer-events:none;
  text-shadow:0 2px 0 #3a2a00,0 0 8px rgba(255,216,58,.6);animation:mrt2-plus .7s var(--mrt-ease) forwards}
.mrt2-hud.is-confirmed{border-color:#68dfc4}
.mrt2-hud.is-unlocked{border-color:var(--mrt-amarelo);box-shadow:0 0 0 1px rgba(255,216,58,.45),0 0 30px rgba(255,216,58,.38),inset 0 1px 0 rgba(255,240,170,.3)}
.mrt2-hud.is-unlocked .mrt2-hud-bar i{background:linear-gradient(90deg,#ffd83a,#fff29a,#ffd83a)}
@keyframes mrt2-sheen{from{background-position:150% 0}to{background-position:-100% 0}}
@keyframes mrt2-count{45%{transform:scale(1.14)}}
@keyframes mrt2-ban{45%{transform:scale(1.22) rotate(-8deg)}}
@keyframes mrt2-plus{0%{opacity:0;transform:translateY(5px) scale(.8)}22%{opacity:1;transform:translateY(0) scale(1.05)}100%{opacity:0;transform:translateY(-13px) scale(1)}}
/* meta batida: clarão curto atrás do HUD, pop e brilho atravessando o valor (só transform/opacity) */
.mrt2-hud::before{content:"";position:absolute;left:50%;top:50%;width:150%;height:260%;margin:-130% 0 0 -75%;z-index:-1;pointer-events:none;opacity:0;
  border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,140,.75),rgba(255,216,58,.35) 45%,rgba(255,216,58,0) 75%)}
.mrt2-hud.is-win::before{animation:mrt2-hud-flash .75s ease-out forwards}
.mrt2-hud-txt b{position:relative;overflow:hidden}
.mrt2-hud-txt b::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85) 50%,transparent);transform:translateX(-120%) skewX(-18deg)}
.mrt2-hud.is-win .mrt2-hud-txt b{animation:mrt2-win-pop .6s var(--mrt-ease-pop)}
.mrt2-hud.is-win .mrt2-hud-txt b::after{animation:mrt2-win-shine .8s ease-out .15s}
@keyframes mrt2-hud-flash{0%{opacity:0;transform:scale(.5)}25%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
@keyframes mrt2-win-pop{0%{transform:scale(1)}40%{transform:scale(1.13)}70%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes mrt2-win-shine{0%{opacity:1;transform:translateX(-120%) skewX(-18deg)}100%{opacity:1;transform:translateX(260%) skewX(-18deg)}}
@keyframes mrt2-drop{from{opacity:0;transform:translateY(-10px)}}
@media (max-width:360px){.mrt2-hud{width:calc(100% - 92px);gap:8px;padding:8px 10px 9px 7px}.mrt2-hud-ban{width:40px;height:40px}.mrt2-hud-ban i{width:26px;height:26px}
  .mrt2-hud-txt b{font-size:18px}.mrt2-hud-txt small{font-size:10.5px}.mrt2-hud-label{letter-spacing:.06em}}

/* ---------------- legenda do guia: cartão centrado entre a barra de cima e a ação ---------------- */
.mrt2-msg{position:absolute;left:50%;top:var(--mrt-msg-top);z-index:3;transform:translateX(-50%);
  width:min(360px,calc(100% - 24px));max-height:var(--mrt-msg-max);padding:11px 16px 13px;border-radius:18px;text-align:center;pointer-events:none;
  background:var(--mrt-card);border:1px solid var(--mrt-card-borda);
  box-shadow:0 12px 28px rgba(0,8,24,.45),inset 0 1px 0 rgba(160,220,255,.2);transition:opacity .2s}
.mrt2-msg::after{content:"";position:absolute;left:50%;bottom:-1px;width:54px;height:3px;margin-left:-27px;border-radius:3px;
  background:var(--mrt-amarelo);box-shadow:0 0 12px rgba(255,216,58,.7)}
.mrt2-msg.is-empty{opacity:0}
.mrt2-msg.is-in{animation:mrt2-cap-in .3s var(--mrt-ease)}
.mrt2.has-sheet .mrt2-msg,.mrt2.is-paused .mrt2-msg,.mrt2.is-paused .mrt2-gesture,.mrt2.is-paused .mrt2-arrow{opacity:0}
.mrt2-dots{display:none;justify-content:center;gap:5px;margin:1px 0 8px}
.mrt2-msg.has-dots .mrt2-dots{display:flex}
.mrt2-dots i{display:block;width:16px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);transition:width .3s var(--mrt-ease),background .3s}
.mrt2-dots i.done{background:rgba(255,216,58,.6)}
.mrt2-dots i.cur{width:28px;background:var(--mrt-amarelo);box-shadow:0 0 8px rgba(255,216,58,.7)}
/* título: fonte arcade da landing (Impact/Anton, itálico e caixa alta, como .mrl-titulo), sem Poppins itálico sintético */
.mrt2-title{margin:0;font-family:var(--mrt-arcade);font-size:clamp(21px,5.9vw,25px);font-weight:400;font-style:italic;line-height:1.08;text-transform:uppercase;
  letter-spacing:.02em;color:#fff;text-shadow:0 2px 0 #08224d,0 4px 14px rgba(0,0,0,.4)}
.mrt2-title b{font-weight:400;color:var(--mrt-amarelo)}
.mrt2-sub{margin:5px 0 0;font-size:14.5px;font-weight:600;line-height:1.42;color:#dbe9f8;text-wrap:balance}
.mrt2-sub[hidden]{display:none}
.mrt2-w{display:inline-block;white-space:nowrap}
.mrt2-w.is-hl{color:var(--mrt-amarelo-claro)}
.mrt2-c{display:inline-block;opacity:0;transition:opacity .12s linear}
.mrt2-c.on{opacity:1}
.mrt2-msg.is-typing .mrt2-sub::after{content:'▏';color:var(--mrt-amarelo);animation:mrt2-caret .8s step-end infinite}
.mrt2-msg.is-alert{border-color:rgba(255,140,110,.55)}
.mrt2-msg.is-alert::after{background:#ff8a6b;box-shadow:0 0 12px rgba(255,120,90,.7)}
.mrt2-msg.is-alert .mrt2-title{color:#ffd0c4}
.mrt2-msg.is-big .mrt2-title{font-size:clamp(27px,7.8vw,34px);line-height:1.02}
.mrt2-msg.is-big.is-in{animation:mrt2-turn-in .46s var(--mrt-ease-pop)}
.mrt2-msg.is-compact{padding:8px 12px 10px}
.mrt2-msg.is-compact .mrt2-title{font-size:20px}
.mrt2-msg.is-compact .mrt2-sub{font-size:13px;margin-top:3px}
.mrt2-msg.is-compact .mrt2-dots{margin-bottom:5px}
.mrt2.is-brief .mrt2-msg{z-index:8;max-height:none}  /* pista congelada: o cartão cresce para caber o "Faltam" e o Continuar */
@keyframes mrt2-caret{50%{opacity:0}}
@keyframes mrt2-cap-in{from{opacity:0;transform:translate(-50%,-8px) scale(.97)}}
@keyframes mrt2-turn-in{0%{opacity:0;transform:translate(-50%,14px) scale(.84)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@media (min-width:700px) and (min-height:700px){.mrt2-msg{width:min(400px,calc(100% - 40px))}}

/* apresentação da meta: quanto falta (dado) + "Continuar" com anel que enche até continuar sozinho */
.mrt2-brief-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:10px;animation:mrt2-fade .3s ease-out}
.mrt2-brief-row[hidden]{display:none}
.mrt2-falta{margin:0;padding:6px 12px;border-radius:999px;background:rgba(4,19,48,.6);border:1px solid var(--mrt-linha-forte);
  font-size:13px;font-weight:700;color:#dbe9f8;white-space:nowrap}
.mrt2-falta b{font-weight:800;color:var(--mrt-amarelo);font-variant-numeric:tabular-nums}
.mrt2-next{display:inline-flex;align-items:center;gap:8px;margin:0;padding:5px 6px 5px 14px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(255,216,58,.6);background:rgba(255,216,58,.12);color:#ffe98a;font-size:13px;font-weight:800;letter-spacing:.02em;
  transition:background .2s,transform .12s}
.mrt2-next[hidden]{display:none}
.mrt2-next:hover{background:rgba(255,216,58,.2)}
.mrt2-next:active{transform:scale(.96)}
.mrt2-next svg{width:24px;height:24px;transform:rotate(-90deg)}
.mrt2-next circle{fill:none;stroke:rgba(255,255,255,.2);stroke-width:3.5}
.mrt2-next circle.r{stroke:var(--mrt-amarelo);stroke-linecap:round;stroke-dasharray:94.3;stroke-dashoffset:94.3}
.mrt2-next.is-run circle.r{animation:mrt2-ring-fill 3s linear forwards}
@keyframes mrt2-ring-fill{to{stroke-dashoffset:0}}

/* destaque do HUD na apresentação da meta (furo com sombra enorme, fecha da tela inteira até o alvo) */
.mrt2-spot{position:absolute;z-index:5;left:0;top:0;width:0;height:0;border-radius:22px;pointer-events:none;opacity:0;
  box-shadow:0 0 0 200vmax rgba(2,10,28,.64);outline:2px solid rgba(255,216,58,.8);outline-offset:0;transition:opacity .25s}
.mrt2-spot.is-on{opacity:1;animation:mrt2-ring 1.8s ease-in-out .8s infinite}
.mrt2-spot.is-moving{transition:opacity .25s,left .78s var(--mrt-ease),top .78s var(--mrt-ease),width .78s var(--mrt-ease),height .78s var(--mrt-ease)}
@keyframes mrt2-ring{50%{outline-color:rgba(255,216,58,.28);outline-offset:5px}}

/* ---------------- mão e setas: indicam o gesto sem cobrir o Minion ---------------- */
/* --mrt-lane-x: deslocamento do Minion na tela conforme a faixa (a câmera acompanha 72%); --mrt-gesture-dx: mão ao lado (paisagem baixa) */
.mrt2-gesture{position:absolute;left:calc(50% + var(--mrt-lane-x) + var(--mrt-gesture-dx));top:var(--mrt-gesture-y);z-index:4;width:170px;height:110px;margin:-55px 0 0 -85px;
  pointer-events:none;opacity:0;transition:opacity .2s}
.mrt2-gesture.is-on{opacity:1}
.mrt2-hand{position:absolute;left:50%;top:50%;width:46px;height:60px;margin:-24px 0 0 -16px;filter:drop-shadow(0 5px 6px rgba(0,19,43,.7))}
.mrt2-hand svg{width:100%;height:100%;overflow:visible}
.mrt2-hand i{position:absolute;left:11px;top:-6px;width:22px;height:22px;border-radius:50%;border:2px solid #86e9ff;opacity:0;box-shadow:0 0 10px rgba(63,220,255,.8)}
.mrt2-trail{position:absolute;left:50%;top:50%;width:84px;height:8px;margin:-4px 0 0 -42px;border-radius:8px;opacity:0;transform:scaleX(0)}
.mrt2-gesture[data-dir=left]{--gx:42px;--gy:0px;--ex:-42px;--ey:0px}
.mrt2-gesture[data-dir=right]{--gx:-42px;--gy:0px;--ex:42px;--ey:0px}
.mrt2-gesture[data-dir=up]{--gx:0px;--gy:34px;--ex:0px;--ey:-34px}
.mrt2-gesture[data-dir=down]{--gx:0px;--gy:-34px;--ex:0px;--ey:34px}
.mrt2-gesture[data-dir=right] .mrt2-trail{transform-origin:left center;background:linear-gradient(90deg,rgba(255,216,58,0),rgba(255,216,58,.85))}
.mrt2-gesture[data-dir=left] .mrt2-trail{transform-origin:right center;background:linear-gradient(270deg,rgba(255,216,58,0),rgba(255,216,58,.85))}
.mrt2-gesture[data-dir=up] .mrt2-trail,.mrt2-gesture[data-dir=down] .mrt2-trail,.mrt2-gesture[data-dir=tap] .mrt2-trail{display:none}
/* pulo/deslize: a mão sobe/desce AO LADO do Minion (à esquerda; as setas ficam à direita), na altura do corpo. Abaixo dele o
   curso vertical da mão (68 px + 60 px da luva) encostava nos pés em telas baixas (1366×768 no aclive) */
.mrt2-gesture[data-dir=up],.mrt2-gesture[data-dir=down]{left:calc(50% + var(--mrt-lane-x) - var(--mrt-arrow-dx) - 7px);top:var(--mrt-arrow-y)}
.mrt2-gesture.is-on .mrt2-hand{animation:mrt2-hand 2s ease-in-out infinite}
.mrt2-gesture.is-on .mrt2-hand i{animation:mrt2-press 2s ease-out infinite}
.mrt2-gesture.is-on .mrt2-trail{animation:mrt2-trail 2s ease-in-out infinite}
.mrt2-gesture[data-mode=hint].is-on .mrt2-hand,.mrt2-gesture[data-mode=hint].is-on .mrt2-trail,.mrt2-gesture[data-mode=hint].is-on .mrt2-hand i{animation-duration:1.4s}
.mrt2-gesture.is-wrong{animation:mrt2-no .42s ease-in-out}
@keyframes mrt2-hand{0%,8%{opacity:0;transform:translate(var(--gx),var(--gy)) scale(1)}
  15%{opacity:1;transform:translate(var(--gx),var(--gy)) scale(.92)}
  52%,66%{opacity:1;transform:translate(var(--ex),var(--ey)) scale(.92)}
  82%,100%{opacity:0;transform:translate(var(--ex),var(--ey)) scale(1)}}
@keyframes mrt2-press{0%,12%{opacity:0;transform:scale(.4)}17%{opacity:.9;transform:scale(1)}30%,100%{opacity:0;transform:scale(1.5)}}
@keyframes mrt2-trail{0%,15%{opacity:0;transform:scaleX(0)}52%{opacity:.9;transform:scaleX(1)}66%{opacity:.55;transform:scaleX(1)}82%,100%{opacity:0;transform:scaleX(1)}}
@keyframes mrt2-no{20%{transform:translateX(-9px)}40%{transform:translateX(9px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
/* resgate: a mão toca a ponta direita do botão, fora do valor (Candy coach-tap 2,5 s); posição medida no JS (placeClaimHand) */
.mrt2-gesture[data-mode=claim]{z-index:6;left:var(--mrt-claim-x,calc(50% + 146px));top:var(--mrt-claim-y,calc(100% - 52px - var(--mrt-safe-bottom)));margin:-55px 0 0 -85px}
.mrt2-gesture[data-mode=claim] .mrt2-hand{animation:mrt2-tap 2.5s ease-in-out infinite}
.mrt2-gesture[data-mode=claim] .mrt2-hand i{animation:mrt2-press 2.5s ease-out .2s infinite}
@keyframes mrt2-tap{0%,18%,65%,100%{transform:translateY(0) scale(1)}30%,45%{transform:translateY(9px) scale(.92)}}

/* setas ao lado do Minion (ancoradas na faixa atual dele), acendendo em sequência até a faixa-alvo, nunca além dela */
.mrt2-arrow{position:absolute;top:var(--mrt-arrow-y);left:calc(50% + var(--mrt-lane-x) + var(--mrt-arrow-dx));z-index:4;display:flex;width:72px;margin:-17px 0 0 -36px;pointer-events:none;
  opacity:0;transition:opacity .18s;color:var(--mrt-amarelo);filter:drop-shadow(0 0 6px rgba(255,216,58,.75)) drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.mrt2-arrow[data-dir=left]{left:calc(50% + var(--mrt-lane-x) - var(--mrt-arrow-dx));transform:scaleX(-1)}
.mrt2-arrow.is-on{opacity:1}
/* chegou na faixa indicada: as setas acendem juntas, avançam um pouco e somem (confirmação curta) */
.mrt2-arrow.is-ok{animation:mrt2-arrow-ok .3s ease-out forwards}
.mrt2-arrow[data-dir=left].is-ok{animation-name:mrt2-arrow-ok-l}
.mrt2-arrow.is-ok span{opacity:1}
@keyframes mrt2-arrow-ok{0%{opacity:1;transform:translateX(0) scale(1)}100%{opacity:0;transform:translateX(14px) scale(1.15)}}
@keyframes mrt2-arrow-ok-l{0%{opacity:1;transform:scaleX(-1) translateX(0) scale(1)}100%{opacity:0;transform:scaleX(-1) translateX(14px) scale(1.15)}}
.mrt2-arrow span{display:block;width:28px;height:34px;margin-right:-6px;opacity:.22}
.mrt2-arrow svg{width:100%;height:100%}
.mrt2-arrow.is-on span{animation:mrt2-chev 1s ease-in-out infinite}
.mrt2-arrow.is-on span:nth-child(2){animation-delay:.14s}
.mrt2-arrow.is-on span:nth-child(3){animation-delay:.28s}
.mrt2-arrow.is-nudge{animation:mrt2-nudge .4s var(--mrt-ease-pop)}
.mrt2-arrow[data-dir=left].is-nudge{animation-name:mrt2-nudge-l}
@keyframes mrt2-chev{0%,100%{opacity:.22;transform:translateX(0)}40%{opacity:1;transform:translateX(5px)}}
@keyframes mrt2-nudge{40%{transform:translateX(10px) scale(1.12)}}
@keyframes mrt2-nudge-l{40%{transform:scaleX(-1) translateX(10px) scale(1.12)}}
/* pulo/deslize: as mesmas setas em pé, ao lado do Minion, apontando para cima ou para baixo */
.mrt2-arrow[data-dir=up]{transform:rotate(-90deg)}
.mrt2-arrow[data-dir=down]{transform:rotate(90deg)}
.mrt2-arrow[data-dir=up].is-ok{animation-name:mrt2-arrow-ok-u}
.mrt2-arrow[data-dir=down].is-ok{animation-name:mrt2-arrow-ok-d}
.mrt2-arrow[data-dir=up].is-nudge{animation-name:mrt2-nudge-u}
.mrt2-arrow[data-dir=down].is-nudge{animation-name:mrt2-nudge-d}
@keyframes mrt2-arrow-ok-u{0%{opacity:1;transform:rotate(-90deg) translateX(0) scale(1)}100%{opacity:0;transform:rotate(-90deg) translateX(14px) scale(1.15)}}
@keyframes mrt2-arrow-ok-d{0%{opacity:1;transform:rotate(90deg) translateX(0) scale(1)}100%{opacity:0;transform:rotate(90deg) translateX(14px) scale(1.15)}}
@keyframes mrt2-nudge-u{40%{transform:rotate(-90deg) translateX(10px) scale(1.12)}}
@keyframes mrt2-nudge-d{40%{transform:rotate(90deg) translateX(10px) scale(1.12)}}

/* aviso "Para a direita/esquerda": logo acima das setas, do lado da faixa-alvo, alinhado ao começo delas (nunca sobre o
   Minion, mesmo quando o terreno o desce na tela) */
.mrt2-hint{position:absolute;left:50%;top:calc(var(--mrt-arrow-y) - 42px);z-index:4;margin-top:-17px;transform:translate(-50%,6px);opacity:0;
  max-width:calc(100% - 32px);padding:7px 15px;border-radius:999px;background:rgba(6,22,52,.94);border:1px solid rgba(255,216,58,.6);
  font-size:14px;font-weight:800;color:#fff;white-space:nowrap;box-shadow:0 8px 18px rgba(0,8,24,.45);transition:opacity .18s,transform .18s}
.mrt2-hint.is-on{opacity:1;transform:translate(-50%,0)}
.mrt2-hint[data-dir=right]{left:calc(50% + var(--mrt-lane-x) + var(--mrt-arrow-dx) - 36px);transform:translate(0,6px)}
.mrt2-hint[data-dir=left]{left:auto;right:calc(50% - var(--mrt-lane-x) + var(--mrt-arrow-dx) - 36px);transform:translate(0,6px)}
/* "Para cima/baixo": acima da coluna de setas em pé (que ocupa ±36 px em volta do meio do corpo), do lado direito */
.mrt2-hint[data-dir=up],.mrt2-hint[data-dir=down]{left:calc(50% + var(--mrt-lane-x) + var(--mrt-arrow-dx) - 17px);top:calc(var(--mrt-arrow-y) - 66px);transform:translate(0,6px)}
.mrt2-hint[data-dir].is-on{transform:translate(0,0)}
@media (max-width:360px){.mrt2-hint{font-size:12.5px;padding:6px 11px}}
.mrt2-pop{position:absolute;left:50%;top:var(--mrt-pop-y);z-index:4;transform:translate(-50%,-50%) scale(.6);opacity:0;white-space:nowrap;pointer-events:none;
  font-family:var(--mrt-arcade);font-size:clamp(30px,8.4vw,40px);font-weight:400;font-style:italic;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--mrt-amarelo);
  -webkit-text-stroke:1px #0b2a6b;paint-order:stroke fill;text-shadow:0 3px 0 #0b2a6b,0 0 18px rgba(255,216,58,.5)}
.mrt2-pop.is-on{animation:mrt2-popin .95s var(--mrt-ease-pop) forwards}
@keyframes mrt2-popin{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
  44%{transform:translate(-50%,-50%) scale(1)}76%{opacity:1}100%{opacity:0;transform:translate(-50%,-66%) scale(1)}}
.mrt2-flash{position:absolute;inset:0;z-index:1;opacity:0;box-shadow:inset 0 0 0 4px #ff6b4a,inset 0 0 42px rgba(255,107,74,.5)}
.mrt2-flash.is-on{animation:mrt2-flash .32s ease-out 2}
@keyframes mrt2-flash{50%{opacity:1}}
.mrt2-pause{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);display:none;flex-direction:column;align-items:center;gap:4px;
  padding:16px 22px;border-radius:20px;background:var(--mrt-card);border:1px solid var(--mrt-card-borda);text-align:center;
  box-shadow:0 18px 40px rgba(0,0,0,.45);width:min(300px,calc(100% - 40px))}
.mrt2-pause.is-on{display:flex}
.mrt2-pause b{font-family:var(--mrt-arcade);font-size:24px;font-weight:400;font-style:italic;letter-spacing:.02em;text-transform:uppercase;color:var(--mrt-amarelo)}
.mrt2-pause span{font-size:14px;font-weight:600;color:var(--mrt-texto-2)}

/* ---------------- meta batida: moldura de energia, brilhos e explosão curta ---------------- */
.mrt2-fx{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.mrt2-frame{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);overflow:visible;
  filter:drop-shadow(0 0 6px rgba(63,220,255,.55))}
.mrt2-frame rect{fill:none;vector-effect:non-scaling-stroke;x:2px;y:2px;width:calc(100% - 4px);height:calc(100% - 4px)}
.mrt2-frame .a{stroke:var(--mrt-ciano);stroke-width:4px;stroke-dasharray:160 580;animation:mrt2-energy 4s linear infinite}
.mrt2-frame .b{stroke:var(--mrt-amarelo);stroke-width:2.4px;stroke-dasharray:110 630;animation:mrt2-energy 4s linear -2s infinite}
@keyframes mrt2-energy{to{stroke-dashoffset:-740}}
.mrt2-star{position:absolute;width:14px;height:14px;opacity:0;background:#fff6c7;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:mrt2-glitter 2.3s ease-in-out infinite}
@keyframes mrt2-glitter{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1.15) rotate(35deg)}}
/* comemoração: 2 ondas de brilhos de 4 pontas, traços e confetes (6–14 px), com leve queda (--g) e giro (--r) */
.mrt2-burst{position:absolute;left:50%;top:var(--mrt-pop-y);width:0;height:0}
.mrt2-pt{position:absolute;left:0;top:0;width:var(--s,10px);height:var(--s,10px);margin:calc(var(--s,10px) / -2) 0 0 calc(var(--s,10px) / -2);
  background:var(--c,#ffd83a);opacity:0;will-change:transform,opacity;animation:mrt2-pt 1.1s cubic-bezier(.2,.75,.3,1) forwards}
.mrt2-pt--star{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
.mrt2-pt--dot{border-radius:3px;width:calc(var(--s,10px) * .7)}
.mrt2-pt--streak{width:3px;height:calc(var(--s,10px) + 8px);margin:calc((var(--s,10px) + 8px) / -2) 0 0 -1.5px;border-radius:3px}
.mrt2-pt--streak{--r0:var(--a,0deg)}
@keyframes mrt2-pt{
  0%{opacity:1;transform:translate(0,0) rotate(var(--r0,0deg)) scale(.3)}
  55%{opacity:1;transform:translate(calc(var(--x) * .86),calc(var(--y) * .86)) rotate(calc(var(--r0,0deg) + var(--r) * .6)) scale(1)}
  100%{opacity:0;transform:translate(var(--x),calc(var(--y) + var(--g))) rotate(calc(var(--r0,0deg) + var(--r))) scale(.85)}}

/* botão de resgate do treino */
.mrt2-claim{position:absolute;left:0;right:0;bottom:0;z-index:5;display:none;flex-direction:column;align-items:center;gap:7px;
  padding:0 16px calc(16px + var(--mrt-safe-bottom))}
.mrt2-claim.is-on{display:flex;animation:mrt2-up .34s var(--mrt-ease-pop)}
.mrt2-claim-note{margin:0;padding:3px 11px;border-radius:999px;background:rgba(6,22,52,.86);font-size:12px;font-weight:700;color:#cfe6ff}
.mrt2-btn--claim{position:relative;overflow:hidden;width:min(360px,100%);min-height:58px;border-radius:16px;border:1px solid #fff2ac;
  background:linear-gradient(180deg,#ffe56b,var(--mrt-amarelo) 55%,#f5b81c);color:#1d2238;font-size:19px;font-weight:800;letter-spacing:.01em;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 5px 0 #ae801c,0 12px 26px rgba(255,216,58,.3);animation:mrt2-resgate 1.8s ease-in-out infinite}
.mrt2-btn--claim::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);
  background-size:250% 100%;animation:mrt2-sheen 2.4s linear infinite;pointer-events:none}
.mrt2-btn--claim span{position:relative;z-index:1}
.mrt2-btn--claim[disabled]{animation:none;opacity:.85;cursor:wait}
.mrt2-btn--claim[disabled]::after{display:none}
@keyframes mrt2-resgate{50%{box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 5px 0 #ae801c,0 0 30px rgba(255,216,58,.55)}}
@keyframes mrt2-up{from{opacity:0;transform:translateY(26px)}}

/* ---------------- folhas: convite, final e erros (bottom sheet no celular, modal no desktop) ---------------- */
.mrt2-sheet{position:absolute;inset:0;z-index:6;display:none;align-items:flex-end;justify-content:center;pointer-events:auto;
  background:rgba(3,10,28,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mrt2-sheet.is-on{display:flex;animation:mrt2-fade .25s ease-out}
.mrt2-sheet-box{position:relative;width:min(560px,100%);max-height:calc(100% - 8px);overflow:auto;text-align:center;
  padding:8px 20px calc(18px + var(--mrt-safe-bottom));border-radius:26px 26px 0 0;
  background:radial-gradient(120% 55% at 50% 0%,rgba(63,150,255,.22),transparent 62%),linear-gradient(172deg,#123c7e,#081d42 72%);
  border:1px solid rgba(120,200,255,.36);border-bottom:0;box-shadow:0 -14px 44px rgba(0,0,0,.5),inset 0 1px rgba(150,225,255,.32);
  animation:mrt2-sheet .34s var(--mrt-ease)}
.mrt2-sheet.is-leaving .mrt2-sheet-box{animation:mrt2-out .24s ease-in forwards}
.mrt2-sheet.is-leaving{animation:mrt2-fade-out .24s ease-in forwards}
.mrt2-sheet.is-exit .mrt2-sheet-box{animation:mrt2-exit .38s var(--mrt-ease) forwards}
@keyframes mrt2-sheet{from{opacity:.4;transform:translateY(60%)}}
@keyframes mrt2-fade{from{opacity:0}}
@keyframes mrt2-fade-out{to{opacity:0}}
@keyframes mrt2-out{to{opacity:0;transform:translateY(24px) scale(.96)}}
@keyframes mrt2-exit{55%{opacity:.4;transform:scale(.92)}100%{opacity:0;transform:scale(.15) translateY(22px)}}
.mrt2-grip{display:block;width:46px;height:4px;margin:2px auto 10px;border-radius:9px;background:rgba(183,205,230,.4)}
.mrt2-kicker{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mrt-ciano)}
.mrt2-sheet-h{margin:0 0 6px;font-size:clamp(23px,6.4vw,28px);font-weight:900;line-height:1.1;color:#fff;text-wrap:balance;text-transform:none;
  text-shadow:0 2px 0 #0a2a62,0 8px 18px rgba(0,0,0,.4)}
.mrt2-sheet-h b{font-weight:900;color:var(--mrt-amarelo)}
.mrt2-sheet-text{margin:0 auto 14px;max-width:400px;font-size:14.5px;line-height:1.45;font-weight:600;color:#cfe0f3;text-wrap:balance}
.mrt2-card-actions{display:flex;flex-direction:column;gap:10px;margin:0 auto;max-width:400px}
.mrt2-btn{position:relative;width:100%;min-height:54px;border-radius:16px;font-size:16px;font-weight:800;letter-spacing:.01em;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .12s,filter .2s,box-shadow .2s}
.mrt2-btn:active{transform:translateY(3px)}
.mrt2-btn[disabled]{cursor:wait;opacity:.72}
.mrt2-btn--start{border:1px solid #b8ffc8;font-size:18px;text-transform:uppercase;letter-spacing:.04em;
  background:linear-gradient(180deg,var(--mr-verde-topo,#5cf58a),var(--mr-verde,#2fe06b) 45%,var(--mr-verde-fundo,#16b84a));color:var(--mr-verde-tinta,#052b12);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 5px 0 var(--mr-verde-base,#0b7a2e),0 12px 26px rgba(47,224,107,.28)}
.mrt2-btn--start:not([disabled]):hover{filter:brightness(1.06);transform:translateY(-1px)}
.mrt2-btn--start:not([disabled]):active{transform:translateY(3px);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 2px 0 var(--mr-verde-base,#0b7a2e)}
.mrt2-btn--start[disabled]{font-size:15px;font-weight:700;text-transform:none;letter-spacing:.01em;background:rgba(4,19,48,.6);color:#cfe6ff;border-color:var(--mrt-linha-forte);box-shadow:none}
.mrt2-btn--alt{min-height:50px;border:1px solid rgba(160,210,255,.45);background:rgba(4,19,48,.35);color:#fff;font-size:14.5px;text-transform:uppercase;letter-spacing:.04em}
.mrt2-btn--alt:hover{border-color:rgba(255,216,58,.6);background:rgba(4,19,48,.5)}
.mrt2-btn--link{min-height:40px;border:0;background:none;color:#cfe6ff;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.mrt2-btn--link:hover{color:#fff}
.mrt2-card-note{margin:10px 0 0;font-size:12px;font-weight:600;color:#9ec3e4}
.mrt2-error .mrt2-sheet-h b{color:#ffb4a6}

/* convite: banner "Rodadas grátis" inteiro, título e texto preservados; entrada e brilho no banner */
.mrt2-invite{background:rgba(4,12,32,.68);backdrop-filter:none;-webkit-backdrop-filter:none}
.mrt2-invite .mrt2-sheet-box{--mrt-invite-pad:clamp(16px,5vw,24px);width:min(480px,100%);padding:0 var(--mrt-invite-pad) calc(18px + var(--mrt-safe-bottom))}
.mrt2-invite .mrt2-grip{display:none}
.mrt2-invite-banner{position:relative;overflow:hidden;margin:0 calc(-1 * var(--mrt-invite-pad)) 15px;background:#071b3b}
.mrt2-invite-banner::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.32) 48%,transparent 62%);background-size:260% 100%;background-position:160% 0;
  animation:mrt2-shine 1.4s var(--mrt-ease) .45s 1 forwards}
.mrt2-invite-photo{display:block;width:100%;height:auto}
.mrt2-invite .mrt2-sheet-h{font-size:clamp(20px,5.4vw,26px);font-weight:800;line-height:1.2}
.mrt2-invite .mrt2-sheet-h b{font-weight:800}
.mrt2-invite .mrt2-sheet-text{color:#e8f2ff;font-size:clamp(14px,3.9vw,17px);margin-bottom:16px}
.mrt2-invite .mrt2-sheet-text b{color:var(--mrt-amarelo)}
.mrt2-invite-load{margin:-4px auto 10px;max-width:340px;color:#cfe6ff;font-size:12px;font-weight:600}
.mrt2-invite-load progress{display:block;width:100%;height:6px;margin-top:4px;accent-color:#48df7a}
.mrt2-invite-load[hidden],.mrt2-invite-load progress[hidden]{display:none}
@keyframes mrt2-shine{to{background-position:-60% 0}}

/* tela final: meta batida, arte do usuário (se existir), conquista e continuação */
.mrt2-final .mrt2-sheet-box{padding-top:14px;overflow-x:hidden}
.mrt2-final .mrt2-sheet-box::before{content:"";position:absolute;left:50%;top:-120px;width:340px;height:240px;margin-left:-170px;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,rgba(255,216,58,.3),rgba(255,216,58,0));animation:mrt2-glow 3s ease-in-out infinite}
.mrt2-final .mrt2-sheet-box>*{position:relative;z-index:1}
.mrt2-final .mrt2-grip{display:none}
.mrt2-final-art{display:flex;justify-content:center;margin:0 auto 12px;animation:mrt2-art-in .55s var(--mrt-ease-pop) .08s both}
.mrt2-final-art img{display:block;max-width:100%;width:auto;height:auto;max-height:min(36vh,300px);border-radius:18px;
  box-shadow:0 16px 34px rgba(0,8,24,.5),0 0 0 1px rgba(255,216,58,.35)}
.mrt2-final .mrt2-kicker{display:inline-flex;align-items:center;gap:6px}
.mrt2-final .mrt2-sheet-h{font-family:var(--mrt-arcade);font-weight:400;font-size:clamp(36px,10vw,46px);font-style:italic;text-transform:uppercase;line-height:1;letter-spacing:.02em;margin-bottom:8px;
  animation:mrt2-title-in .5s var(--mrt-ease-pop) .12s both}
.mrt2-final .mrt2-sheet-h b{font-weight:400;color:var(--mrt-amarelo);text-shadow:0 3px 0 #7a5200,0 0 16px rgba(255,216,58,.45)}
.mrt2-final .mrt2-sheet-text{margin-bottom:12px}
/* 6 conquistas (r2: + Pulo e Deslize): 3 + 3 em qualquer largura; em paisagem baixa, numa linha só se couber */
.mrt2-skills{display:grid;grid-template-columns:repeat(3,max-content);justify-content:center;gap:6px;margin:0 auto 16px;padding:0;list-style:none;max-width:400px}
.mrt2-skills li{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 5px;border-radius:999px;font-size:12px;font-weight:700;color:#d5ffe1;
  background:rgba(47,224,107,.1);border:1px solid rgba(47,224,107,.45);animation:mrt2-chip .42s var(--mrt-ease-pop) var(--d,.2s) both}
.mrt2-skill-ico{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#2fe06b;color:#04260f}
.mrt2-skill-ico svg{width:13px;height:13px}
.mrt2-final .mrt2-card-actions{animation:mrt2-fade .4s ease-out .5s both}
@keyframes mrt2-glow{50%{opacity:.65;transform:scale(1.08)}}
@keyframes mrt2-art-in{from{opacity:0;transform:translateY(10px) scale(.92)}}
@keyframes mrt2-title-in{from{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.05)}}
@keyframes mrt2-chip{from{opacity:0;transform:translateY(8px) scale(.85)}}

@media (min-width:700px) and (min-height:560px){
  .mrt2-sheet{align-items:center;padding:16px}
  .mrt2-sheet-box{width:min(440px,100%);border-radius:22px;border-bottom:1px solid rgba(120,200,255,.36);padding:10px 22px 20px;
    box-shadow:0 24px 70px rgba(0,0,0,.6),inset 0 1px rgba(150,225,255,.32);animation:mrt2-modal .26s var(--mrt-ease)}
  .mrt2-final .mrt2-sheet-box{padding-top:18px}
  .mrt2-grip{display:none}
}
@keyframes mrt2-modal{from{opacity:0;transform:scale(.92)}}
/* tela final sem a arte do usuário: card centralizado na vertical também no celular (sem 60% de tela vazia) */
.mrt2-final:not(.has-art){align-items:center;padding:16px 16px calc(16px + var(--mrt-safe-bottom))}
.mrt2-final:not(.has-art) .mrt2-sheet-box{width:min(440px,100%);border-radius:24px;border-bottom:1px solid rgba(120,200,255,.36);padding-bottom:20px;
  box-shadow:0 24px 70px rgba(0,0,0,.6),inset 0 1px rgba(150,225,255,.32);animation:mrt2-modal .3s var(--mrt-ease)}
@media (max-height:620px){.mrt2-sheet-text{margin-bottom:9px}.mrt2-final-art img{max-height:28vh}.mrt2-skills{margin-bottom:11px}}
@media (max-height:470px){.mrt2-grip{margin-bottom:4px}.mrt2-btn{min-height:46px}.mrt2-btn--start{font-size:16px}.mrt2-invite-banner{margin-bottom:8px}
  .mrt2-final .mrt2-sheet-h{font-size:28px}.mrt2-final-art img{max-height:24vh}}
/* paisagem baixa (celular deitado), depois que o treino começa (is-running = HUD ligado; o convite vem antes e não muda):
   a folha começa abaixo da barra de cima (HUD do treino e botão de som) e o que não couber rola dentro dela.
   --mrt-top-b = base da barra, medida pelo layout() do JS. Retrato e desktop não mudam. (v5, item A2-02) */
@media (orientation:landscape) and (max-height:470px){
  .mrt2.is-running .mrt2-sheet{padding-top:var(--mrt-top-b,calc(64px + var(--mrt-safe-top)))}
  .mrt2.is-running .mrt2-sheet-box{overscroll-behavior:contain}
  .mrt2-msg{width:min(300px,calc(100% - 24px))}
  .mrt2.is-brief .mrt2-msg{width:min(520px,calc(100% - 24px))}
  .mrt2-brief-row{flex-wrap:nowrap;margin-top:7px}
  /* tela final sem arte: espaçamentos menores para caber abaixo do HUD sem rolar */
  .mrt2-final:not(.has-art){padding-bottom:calc(6px + var(--mrt-safe-bottom))}
  .mrt2-final .mrt2-sheet-box,.mrt2-final:not(.has-art) .mrt2-sheet-box{padding-top:10px;padding-bottom:12px}
  .mrt2-final .mrt2-sheet-text{margin-bottom:8px}
  .mrt2-final .mrt2-skills{margin-bottom:10px;grid-template-columns:repeat(6,max-content);max-width:none}
  /* r2: 6 conquistas numa linha (2 linhas não cabem na altura): folha final mais larga e conquistas um pouco menores */
  .mrt2-final .mrt2-sheet-box,.mrt2-final:not(.has-art) .mrt2-sheet-box{width:min(560px,100%)}
  .mrt2-final .mrt2-skills{gap:5px}
  .mrt2-final .mrt2-skills li{padding:3px 8px 3px 4px;font-size:11.5px}
  .mrt2-final .mrt2-card-note{margin-top:4px}
  .mrt2-final .mrt2-btn--link{min-height:34px}
  /* visitante: Criar conta e Já tenho conta lado a lado; Rever o treino embaixo */
  .mrt2-final .mrt2-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;max-width:440px}
  .mrt2-final .mrt2-card-actions>.mrt2-btn--link,.mrt2-final .mrt2-card-actions>.mrt2-btn:first-child:nth-last-child(2){grid-column:1/-1}
}
@media (max-height:500px){.mrt2-msg{padding:8px 12px 9px}.mrt2-dots{display:none!important}.mrt2-sub{font-size:12.5px}}

/* movimento reduzido: tudo instantâneo, sem laços nem brilhos; a mão fica parada no fim do gesto */
@media (prefers-reduced-motion:reduce){
  .mrt2-c{transition:none}
  .mrt2-hand,.mrt2-hand i,.mrt2-trail,.mrt2-arrow span,.mrt2-btn--claim,.mrt2-btn--claim::after,.mrt2-frame .a,.mrt2-frame .b,.mrt2-hud-bar i::after,
  .mrt2-hud.is-pop .mrt2-hud-txt b,.mrt2-hud.is-pop .mrt2-hud-ban i,.mrt2-msg.is-in,.mrt2-flash.is-on,.mrt2-sheet-box,.mrt2-sheet.is-on,.mrt2-claim.is-on,
  .mrt2-gesture.is-wrong,.mrt2-arrow.is-nudge,.mrt2-spot.is-on,.mrt2-next.is-run circle.r,.mrt2-invite-banner::after,.mrt2-hud.is-on,
  .mrt2-final-art,.mrt2-final .mrt2-sheet-h,.mrt2-skills li,.mrt2-final .mrt2-card-actions,.mrt2-final .mrt2-sheet-box::before{animation:none!important}
  .mrt2-gesture.is-on .mrt2-hand{opacity:1;transform:translate(var(--ex,0),var(--ey,0))}
  .mrt2-arrow.is-on span{opacity:.9}
  .mrt2-pop.is-on{animation:none;opacity:1;transform:translate(-50%,-50%)}
  .mrt2-flash.is-on{opacity:1}
  .mrt2-star,.mrt2-burst,.mrt2-plus,.mrt2-hud::before,.mrt2-hud-txt b::after{display:none}
  .mrt2-hud.is-win .mrt2-hud-txt b,.mrt2-arrow.is-ok,.mrt2-brief-row{animation:none!important}
  .mrt2-bg,.mrt2-dim,.mrt2-spot,.mrt2-hud-bar i,.mrt2-dots i{transition:none}
  .mrt2-msg.is-typing .mrt2-sub::after{display:none}
}

/* ================= r3 (pedido do usuário, 09/11/2026 à noite) ================= */
/* barra de cima: som à esquerda, HUD da meta no centro, pular à direita */
.mrt2-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;justify-content:stretch}
.mrt2-mute{justify-self:start}
.mrt2-skip{justify-self:end}
.mrt2-hud{width:min(300px,calc(var(--mrt-w,412px) - 156px));max-width:none}
@media (max-width:480px){.mrt2-skip-l{display:none}.mrt2-skip-s{display:inline}}
@media (max-width:380px){.mrt2-hud{width:calc(var(--mrt-w,360px) - 132px)}}
/* meta apresentada sem congelar a pista: o HUD pulsa em destaque */
.mrt2-hud.is-focus{border-color:var(--mrt-amarelo);animation:mrt2-hud-focus 1.3s ease-in-out 2}
@keyframes mrt2-hud-focus{0%,100%{transform:scale(1)}50%{transform:scale(1.07);box-shadow:0 0 0 2px rgba(255,216,58,.6),0 0 34px rgba(255,216,58,.5),inset 0 1px 0 rgba(255,240,170,.3)}}

/* legenda embaixo, perto da ação (acima do botão de resgate quando ele aparece; --mrt-msg-bottom vem do JS) */
.mrt2-msg{top:auto;bottom:var(--mrt-msg-bottom,16px)}
@keyframes mrt2-cap-in{from{opacity:0;transform:translate(-50%,10px) scale(.97)}}
@keyframes mrt2-turn-in{0%{opacity:0;transform:translate(-50%,16px) scale(.86)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
/* celular deitado: legenda no canto de baixo à esquerda, longe do Minion (o gesto fica do lado direito dele) */
.mrt2.is-land .mrt2-msg{left:12px;transform:none;width:min(320px,42%)}
.mrt2.is-land .mrt2-msg.is-in,.mrt2.is-land .mrt2-msg.is-big.is-in{animation:mrt2-fade .25s ease-out}

/* coleta: a banana voa do Minion até o HUD e o ganho sobe sobre ele (--x0/--y0/--x1/--y1 vêm do JS) */
.mrt2-flylayer{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.mrt2-fly{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;background:center/contain no-repeat;opacity:0;
  will-change:transform,opacity;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.mrt2-fly.is-on{animation:mrt2-fly .56s cubic-bezier(.45,0,.7,.45) forwards}
@keyframes mrt2-fly{0%{opacity:0;transform:translate(var(--x0),var(--y0)) scale(.7)}
  14%{opacity:1;transform:translate(var(--x0),calc(var(--y0) - 16px)) scale(1.12)}
  100%{opacity:.85;transform:translate(var(--x1),var(--y1)) scale(.5)}}
.mrt2-gain{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;font-size:15px;font-weight:900;line-height:1;color:#ffe873;
  text-shadow:0 2px 0 #3a2a00,0 0 8px rgba(255,216,58,.6);will-change:transform,opacity}
.mrt2-gain.is-on{animation:mrt2-gain .7s var(--mrt-ease) forwards}
@keyframes mrt2-gain{0%{opacity:0;transform:translate(calc(var(--x0) - 50%),calc(var(--y0) - 30px)) scale(.8)}
  22%{opacity:1;transform:translate(calc(var(--x0) - 50%),calc(var(--y0) - 46px)) scale(1.06)}
  100%{opacity:0;transform:translate(calc(var(--x0) - 50%),calc(var(--y0) - 76px)) scale(1)}}

/* largada: o card sai, o corredor dá zoom e as linhas de velocidade passam; some quando a corrida entra */
.mrt2-launch{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;opacity:0;visibility:hidden;
  transition:opacity .45s ease,visibility 0s linear .45s;
  background:radial-gradient(circle at 50% 56%,rgba(255,240,170,.34),rgba(255,216,58,.08) 20%,transparent 46%)}
.mrt2-launch::before,.mrt2-launch::after{content:"";position:absolute;left:50%;top:56%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;opacity:0;
  background:repeating-conic-gradient(from 0deg,rgba(170,232,255,0) 0deg 4.2deg,rgba(170,232,255,.34) 4.6deg 5deg,rgba(170,232,255,0) 5.4deg 9deg);
  -webkit-mask:radial-gradient(circle,transparent 5%,#000 20%,#000 52%,transparent 66%);mask:radial-gradient(circle,transparent 5%,#000 20%,#000 52%,transparent 66%);
  will-change:transform,opacity}
.mrt2.is-launch .mrt2-launch{opacity:1;visibility:visible;transition:opacity .15s ease}
.mrt2.is-launch .mrt2-launch::before{animation:mrt2-warp .6s linear infinite}
.mrt2.is-launch .mrt2-launch::after{animation:mrt2-warp .6s linear -.3s infinite}
@keyframes mrt2-warp{0%{opacity:0;transform:scale(.35)}35%{opacity:1}100%{opacity:0;transform:scale(1.15)}}
.mrt2-bg{transition:opacity .6s var(--mrt-ease),transform 1.1s cubic-bezier(.55,0,.8,.3)}
.mrt2.is-launch .mrt2-bg{transform:scale(1.22)}

/* meta batida: borda dourada suave que respira (no lugar dos traços girando) */
.mrt2-edge{position:absolute;inset:0;border-radius:18px;pointer-events:none;opacity:.7;
  box-shadow:inset 0 0 0 2px rgba(255,216,58,.6),inset 0 0 46px rgba(255,216,58,.3);animation:mrt2-edge 2.4s ease-in-out infinite}
@keyframes mrt2-edge{50%{opacity:1}}

/* folhas: o foco entra na folha, sem contorno */
.mrt2-sheet-box:focus{outline:none}
/* com uma folha aberta (final, erro) o HUD sai: a caixa de resgate já mostra o valor e o HUD não cobre a foto */
.mrt2.has-sheet .mrt2-hud{visibility:hidden}

/* tela final (como a do Codex): foto do convite em cima, "Mandou bem!", resgate do treino e botões */
.mrt2-final--foto{background:rgba(4,12,32,.68);backdrop-filter:none;-webkit-backdrop-filter:none}
.mrt2-final--foto .mrt2-sheet-box{--mrt-invite-pad:clamp(16px,5vw,24px);width:min(480px,100%);padding:0 var(--mrt-invite-pad) calc(16px + var(--mrt-safe-bottom))}
.mrt2-final--foto .mrt2-sheet-box::before{display:none}
.mrt2-final--foto .mrt2-invite-banner{margin:0 calc(-1 * var(--mrt-invite-pad)) 12px}
.mrt2-final .mrt2-sheet-h{font-family:var(--mrt-fonte);font-style:normal;text-transform:none;font-weight:900;letter-spacing:-.01em;
  font-size:clamp(28px,7.6vw,36px);line-height:1.08;margin-bottom:6px}
.mrt2-final .mrt2-sheet-h b{font-weight:900;text-shadow:0 2px 0 #7a5200}
.mrt2-prize{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0 auto 14px;max-width:400px;padding:12px 16px;border-radius:18px;
  background:rgba(3,14,36,.55);border:1px solid rgba(120,200,255,.3);animation:mrt2-art-in .5s var(--mrt-ease-pop) .2s both}
.mrt2-prize-ico{display:grid;place-items:center;width:36px;height:36px;margin-bottom:2px;border-radius:50%;background:rgba(47,224,107,.16);color:#5cf58a}
.mrt2-prize-ico svg{width:20px;height:20px}
.mrt2-prize small{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9fc4e6}
.mrt2-prize strong{font-size:clamp(30px,8vw,38px);font-weight:900;line-height:1.05;color:var(--mrt-amarelo);font-variant-numeric:tabular-nums}
.mrt2-prize-sub{font-size:13px;font-weight:600;color:#cfe0f3}
@media (max-height:620px){.mrt2-prize{padding:8px 12px;margin-bottom:10px}.mrt2-prize-ico{display:none}}
@media (max-height:470px){.mrt2-final--foto .mrt2-invite-banner{display:none}.mrt2-final--foto .mrt2-sheet-box{padding-top:12px}}

@media (prefers-reduced-motion:reduce){
  .mrt2-fly,.mrt2-gain,.mrt2-launch{display:none}
  .mrt2-hud.is-focus,.mrt2-edge,.mrt2-prize{animation:none!important}
  .mrt2.is-launch .mrt2-bg{transform:none}
}
/* ================= r4 (pedido do usuário, 10/11/2026) ================= */
/* as medidas do HUD real usam cqw do container .mr-demo; no treino o container é a própria camada (largura da coluna do jogo) */
.mrt2{container-type:inline-size}
/* antes da corrida o fundo do treino é opaco: o lobby da engine nunca aparece por trás do convite */
.mrt2:not(.is-running) .mrt2-bg{opacity:1!important}
/* barra de cima: o HUD do jogo real ocupa os dois cantos (mr-demo__hud vem do bundle do jogo) */
.mrt2-top{display:block;padding:0;inset:0 0 auto 0;height:0;overflow:visible}
.mrt2-rhud{display:none}
.mrt2.is-running .mrt2-rhud{display:flex;animation:mrt2-drop .35s var(--mrt-ease)}
.mrt2-rhud,.mrt2-rhud .mr-demo__hud-left{pointer-events:none}
.mrt2-hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
.mrt2-hud-right .mrt2-tools{flex-direction:row;align-items:center;gap:6px;pointer-events:auto}
.mrt2-hud-right .mrt2-ico{height:32px;min-width:32px}
.mrt2-hud-right .mrt2-mute{width:32px}
.mrt2-hud-right .mrt2-skip{min-height:32px}
.mrt2.has-sheet .mrt2-rhud,.mrt2.is-claim .mrt2-rhud .mrt2-tools{visibility:hidden}
/* contador ao coletar: as bananas e o acumulado pulam como no jogo */
.mrt2-rhud.is-pop .mrt2-rban,.mrt2-rhud.is-pop .mrt2-hud-val{display:inline-block;animation:mrt2-count .34s var(--mrt-ease-pop)}
.mrt2-rhud.is-pop .mr-demo__banana-total img{animation:mrt2-ban .34s var(--mrt-ease-pop)}
.mrt2-rhud.is-focus .mrt2-earn,.mrt2-rhud.is-focus .mr-demo__banana-panel{border-color:#ffe34a;animation:mrt2-earn-focus 1.3s ease-in-out 2}
@keyframes mrt2-earn-focus{50%{transform:scale(1.06);box-shadow:0 0 0 2px rgba(255,216,58,.55),0 0 30px rgba(255,216,58,.45)}}
.mrt2-rhud.is-unlocked .mrt2-earn{border-color:#ffe34a;box-shadow:0 0 0 1px rgba(255,216,58,.45),0 0 28px rgba(255,216,58,.4)}
.mrt2-rhud.is-confirmed .mr-demo__goal-panel{border-color:#68dfc4}
/* barra de baixo do jogo ("Colete bananas para liberar o resgate.") durante a corrida */
.mrt2-cash{display:none;z-index:2}
.mrt2.is-running:not(.is-claim):not(.has-sheet) .mrt2-cash{display:block}

/* legenda no centro da tela, logo acima da cabeça do Minion (--mrt-msg-bottom vem do JS) */
.mrt2-msg{top:auto;bottom:var(--mrt-msg-bottom,48%)}
.mrt2.is-land .mrt2-msg{left:50%;transform:translateX(-50%);width:min(340px,calc(100% - 24px))}
.mrt2.is-land .mrt2-msg.is-in,.mrt2.is-land .mrt2-msg.is-big.is-in{animation:mrt2-cap-in .3s var(--mrt-ease)}
.mrt2.is-claim .mrt2-msg{opacity:0}

/* convite e folhas no centro da tela (como no Candy e no Bubble), também no celular */
.mrt2-sheet{align-items:center;padding:16px 14px calc(16px + var(--mrt-safe-bottom))}
.mrt2-sheet-box{border-radius:24px;border-bottom:1px solid rgba(120,200,255,.36);
  box-shadow:0 24px 70px rgba(0,0,0,.6),inset 0 1px rgba(150,225,255,.32);animation:mrt2-modal .3s var(--mrt-ease)}
.mrt2-invite .mrt2-sheet-box,.mrt2-final--foto .mrt2-sheet-box{padding-bottom:18px}
.mrt2-invite .mrt2-invite-banner,.mrt2-final--foto .mrt2-invite-banner{border-radius:23px 23px 0 0}
.mrt2-grip{display:none}

/* meta batida: card no centro com o valor e o botão Resgatar */
.mrt2-claim{inset:0;bottom:auto;height:100%;justify-content:center;align-items:center;padding:16px;background:rgba(3,10,28,.45)}
.mrt2-claim.is-on{animation:mrt2-fade .25s ease-out}
.mrt2-claim-box{width:min(380px,100%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 18px 16px;border-radius:24px;text-align:center;
  background:radial-gradient(120% 55% at 50% 0%,rgba(255,216,58,.2),transparent 62%),linear-gradient(172deg,#123c7e,#081d42 72%);
  border:1.5px solid rgba(255,216,58,.65);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 34px rgba(255,216,58,.25),inset 0 1px rgba(255,240,170,.3);
  animation:mrt2-modal .34s var(--mrt-ease-pop)}
.mrt2-claim-k{margin:0;padding:3px 12px;border-radius:999px;background:rgba(47,224,107,.16);color:#6ff59a;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.mrt2-claim-h{margin:2px 0 0;font-family:var(--mrt-arcade);font-style:italic;font-weight:400;text-transform:uppercase;font-size:clamp(25px,7vw,32px);line-height:1.04;color:#fff;
  text-shadow:0 2px 0 #08224d,0 6px 16px rgba(0,0,0,.4)}
.mrt2-claim-h b{font-weight:400;color:var(--mrt-amarelo)}
.mrt2-claim-v{font-size:clamp(34px,10vw,44px);font-weight:900;line-height:1.05;color:#ffe34a;font-variant-numeric:tabular-nums;text-shadow:0 2px #7c5815}
.mrt2-claim-sub{margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.4;color:#dbe9f8;text-wrap:balance}
.mrt2-claim-box .mrt2-btn--claim{width:100%}
.mrt2-claim-box .mrt2-claim-note{margin-top:4px}
@media (max-height:470px){.mrt2-claim-box{padding:10px 14px}.mrt2-claim-v{font-size:28px}.mrt2-claim-sub{display:none}}
@media (prefers-reduced-motion:reduce){.mrt2-rhud.is-pop *,.mrt2-rhud.is-focus *,.mrt2-claim-box{animation:none!important}}
/* r4: tela baixa (celular deitado): HUD do jogo em 70% para não encostar na legenda; no resgate o card do centro fica sozinho */
.mrt2.is-short .mrt2-rhud{transform:scale(.7);transform-origin:top left;right:auto;width:calc((100% - 24px) / .7)}
.mrt2.is-short.is-claim .mrt2-rhud{visibility:hidden}
@media (orientation:landscape) and (max-height:470px){
  .mrt2-sheet-box{width:min(520px,100%)}
  .mrt2-invite .mrt2-invite-photo{height:31vh;object-fit:cover;object-position:50% 38%}
  .mrt2-invite .mrt2-sheet-text{margin-bottom:9px}
  .mrt2-invite .mrt2-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:440px}
}
/* ================= r5 (pedido do usuário, 10/11/2026 ~06h): estilo do Candy ================= */
/* HUD do Candy: barra no topo (aposta demo · valor · meta) com progresso e o selo de bananas embaixo */
.mrt2-chud{position:absolute;left:50%;top:calc(10px + var(--mrt-safe-top));z-index:1;display:none;flex-direction:column;align-items:center;gap:7px;
  width:min(380px,calc(100% - 20px));transform:translateX(-50%);pointer-events:none}
.mrt2.is-running .mrt2-chud{display:flex;animation:mrt2-chud-drop .35s var(--mrt-ease)}
@keyframes mrt2-chud-drop{from{opacity:0;transform:translate(-50%,-10px)}}
.mrt2.has-sheet .mrt2-chud{visibility:hidden}
.mrt2-chud-box{position:relative;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;padding:9px 14px 15px;border-radius:18px;
  background:linear-gradient(180deg,rgba(14,36,80,.94),rgba(7,20,48,.94));border:1.5px solid rgba(140,210,255,.55);
  box-shadow:0 0 0 3px rgba(120,200,255,.16),0 10px 26px rgba(0,8,30,.5),inset 0 1px 0 rgba(200,235,255,.18)}
.mrt2-chud-side{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}
.mrt2-chud-side small{font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a9c4e2;white-space:nowrap}
.mrt2-chud-side b{font-size:clamp(12.5px,3.5vw,15px);font-weight:800;color:var(--mrt-amarelo);white-space:nowrap;font-variant-numeric:tabular-nums}
.mrt2-hud-val{display:inline-block;padding:0 4px;font-size:clamp(25px,7.4vw,32px);font-weight:900;line-height:1.05;letter-spacing:-.01em;color:#46f2a8;
  font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(70,242,168,.35),0 2px 0 #06301f;white-space:nowrap}
.mrt2-chud-bar{position:absolute;left:22%;right:22%;bottom:6px;height:5px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.mrt2-chud-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#2fd690,#7ff7c6);box-shadow:0 0 8px rgba(70,242,168,.6);transition:width .25s var(--mrt-ease)}
.mrt2-chud-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 13px 5px 8px;border-radius:999px;background:rgba(7,20,48,.9);
  border:1px solid rgba(140,210,255,.35);box-shadow:0 6px 14px rgba(0,8,30,.4)}
.mrt2-chud-pill img{width:22px;height:22px;object-fit:contain}
.mrt2-chud-pill strong{font-size:16px;font-weight:900;color:#ffe655;font-variant-numeric:tabular-nums}
.mrt2-chud-pill span{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#cfe2f7}
.mrt2-chud.is-pop .mrt2-hud-val,.mrt2-chud.is-pop .mrt2-chud-pill strong{animation:mrt2-count .34s var(--mrt-ease-pop)}
.mrt2-chud.is-pop .mrt2-chud-pill img{animation:mrt2-ban .34s var(--mrt-ease-pop)}
.mrt2-chud.is-focus .mrt2-chud-box{animation:mrt2-chud-focus 1.3s ease-in-out 2}
@keyframes mrt2-chud-focus{50%{transform:scale(1.05);border-color:#46f2a8;box-shadow:0 0 0 3px rgba(70,242,168,.4),0 0 30px rgba(70,242,168,.45)}}
.mrt2-chud.is-unlocked .mrt2-chud-box{border-color:#46f2a8;box-shadow:0 0 0 3px rgba(70,242,168,.35),0 0 28px rgba(70,242,168,.4)}
/* Pular tutorial no canto de cima (como no Candy); no celular fica na linha do selo de bananas */
.mrt2-top .mrt2-skip{position:absolute;top:calc(12px + var(--mrt-safe-top));right:12px;min-height:34px;padding:7px 14px;border-radius:999px;
  background:rgba(7,20,48,.9);font-size:12px;font-weight:800}
.mrt2-top .mrt2-skip::after{content:"\203A";margin-left:5px;font-size:15px;line-height:1}
@container (max-width:620px){.mrt2-top .mrt2-skip{top:calc(86px + var(--mrt-safe-top));padding:6px 11px;min-height:30px}}
/* som: botão redondo amarelo embaixo, à direita (como no Candy) */
.mrt2>.mrt2-mute{position:absolute;right:12px;bottom:calc(14px + var(--mrt-safe-bottom));z-index:7;width:42px;height:42px;
  border:2px solid #fff3b0;background:linear-gradient(180deg,#ffe56b,#f5b81c);color:#3a2600;box-shadow:0 4px 0 #a86609,0 8px 18px rgba(0,0,0,.35)}
.mrt2.has-sheet>.mrt2-mute{display:none}
/* sem as peças do HUD do jogo real (r4) */
.mrt2-rhud,.mrt2-cash{display:none!important}
.mrt2.is-short .mrt2-chud{transform:translateX(-50%) scale(.8);transform-origin:top center}
@container (max-width:620px){.mrt2.is-short .mrt2-top .mrt2-skip{top:calc(70px + var(--mrt-safe-top))}}

/* legenda como no Candy: só o texto, com contorno escuro, sem retângulo atrás (não tampa a pista) */
.mrt2-msg{background:none;border:0;box-shadow:none;padding:0 6px;width:min(420px,calc(100% - 20px))}
.mrt2-msg::after{display:none}
.mrt2-title{font-family:var(--mrt-fonte);font-style:normal;text-transform:none;font-weight:900;letter-spacing:-.01em;line-height:1.16;
  font-size:clamp(19px,5.3vw,24px);color:#fff;text-shadow:0 2px 0 #071a3f,2px 0 0 #071a3f,-2px 0 0 #071a3f,0 -2px 0 #071a3f,1.5px 1.5px 0 #071a3f,-1.5px 1.5px 0 #071a3f,1.5px -1.5px 0 #071a3f,-1.5px -1.5px 0 #071a3f,0 6px 14px rgba(0,0,0,.5)}
.mrt2-title b{font-weight:900;color:var(--mrt-amarelo)}
.mrt2-msg.is-big .mrt2-title{font-size:clamp(22px,6.2vw,28px)}
.mrt2-sub{margin-top:4px;font-size:clamp(13.5px,3.7vw,16px);font-weight:800;line-height:1.35;color:#fff;
  text-shadow:0 1.5px 0 #071a3f,1.5px 0 0 #071a3f,-1.5px 0 0 #071a3f,0 -1.5px 0 #071a3f,0 4px 10px rgba(0,0,0,.5)}
.mrt2-msg.is-alert .mrt2-title{color:#ffb4a2}
.mrt2-msg.is-compact{padding:0 6px}
.mrt2.is-claim .mrt2-msg:not(.is-empty){opacity:1}

/* resgate como no Candy: botão grande embaixo com brilho e a setinha em cima; a frase fica no centro */
.mrt2-claim{inset:auto 0 0 0;height:auto;background:none;justify-content:flex-end;align-items:center;gap:8px;
  padding:0 14px calc(18px + var(--mrt-safe-bottom))}
.mrt2-claim.is-on{animation:mrt2-up .34s var(--mrt-ease-pop)}
.mrt2-claim-seta{display:block;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:13px solid #ffe7f7;
  filter:drop-shadow(0 0 6px rgba(255,140,220,.8));animation:mrt2-seta 1s ease-in-out infinite}
@keyframes mrt2-seta{50%{transform:translateY(6px)}}
.mrt2-claim .mrt2-btn--claim{width:min(520px,100%);min-height:62px;border-radius:18px;font-size:clamp(17px,4.8vw,21px);text-transform:uppercase;letter-spacing:.02em;
  border:2px solid #fff;box-shadow:0 0 0 4px rgba(255,140,220,.55),0 0 26px rgba(255,140,220,.55),inset 0 2px 0 rgba(255,255,255,.55),0 6px 0 #ae801c}
.mrt2.is-claim>.mrt2-mute{bottom:calc(96px + var(--mrt-safe-bottom))}

/* tela final como no Candy */
.mrt2-final .mrt2-sheet-h{color:#46f2a8;text-shadow:0 2px 0 #06301f,0 8px 18px rgba(0,0,0,.4)}
.mrt2-final .mrt2-sheet-h b{color:#46f2a8;text-shadow:0 2px 0 #06301f}
.mrt2-final .mrt2-sheet-text{margin-bottom:6px;color:#dbe7f6;font-weight:700}
.mrt2-win{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 14px}
.mrt2-win strong{position:relative;font-size:clamp(38px,11vw,52px);font-weight:900;line-height:1.05;color:#ffd83a;font-variant-numeric:tabular-nums;
  text-shadow:0 3px 0 #8a5a00,0 0 22px rgba(255,216,58,.45);animation:mrt2-art-in .5s var(--mrt-ease-pop) .15s both}
.mrt2-win strong::before,.mrt2-win strong::after{content:"\2726";position:absolute;top:50%;margin-top:-.5em;font-size:.38em;color:#fff3b0;opacity:.9}
.mrt2-win strong::before{left:-1.1em}
.mrt2-win strong::after{right:-1.1em}
.mrt2-win p{margin:0;max-width:340px;font-size:15px;font-weight:800;line-height:1.4;color:#fff;text-wrap:balance}
.mrt2-win p b{color:var(--mrt-amarelo)}
@media (max-height:620px){.mrt2-win{margin-bottom:9px}.mrt2-win strong{font-size:34px}}
@media (prefers-reduced-motion:reduce){.mrt2-claim-seta,.mrt2-win strong,.mrt2-chud *{animation:none!important}}
/* ===== r7 (10/11/2026, pedido do usuário) ===== */
/* convite: o card só aparece com a foto pronta (antes a foto carregava e a decoração subia depois) */
.mrt2-sheet.is-loading .mrt2-sheet-box{opacity:0;animation:none}
.mrt2-sheet.is-loading .mrt2-invite-banner::after{animation:none}
.mrt2-sheet.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;
  border:4px solid rgba(52,205,255,.2);border-top-color:#ffe328;animation:mrt2-girar 1s linear infinite}
@keyframes mrt2-girar{to{transform:rotate(360deg)}}
/* Começar treino pulsando */
.mrt2-btn--start:not([disabled]){animation:mrt2-pulsar 1.5s ease-in-out infinite}
.mrt2-btn--start:not([disabled]):active{animation:none}
/* r12: pulsa só o brilho (o tamanho mudando deixava o alvo do toque instável) */
@keyframes mrt2-pulsar{0%,100%{box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 5px 0 var(--mr-verde-base,#0b7a2e),0 12px 26px rgba(47,224,107,.28)}
  50%{box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 5px 0 var(--mr-verde-base,#0b7a2e),0 0 34px rgba(47,224,107,.62)}}
/* Resgatar no azul do tema (antes amarelo) */
.mrt2-btn--claim,.mrt2-claim .mrt2-btn--claim{border:2px solid #dff8ff;background:linear-gradient(180deg,#8eedff,#33bfff 48%,#1679f0);color:#fff;
  text-shadow:0 2px 0 rgba(4,40,110,.55);
  box-shadow:0 0 0 4px rgba(63,220,255,.45),0 0 26px rgba(63,220,255,.55),inset 0 2px 0 rgba(255,255,255,.6),0 6px 0 #0b4aa8;
  animation:mrt2-resgate-azul 1.8s ease-in-out infinite}
.mrt2-claim .mrt2-btn--claim[disabled]{animation:none}
@keyframes mrt2-resgate-azul{50%{box-shadow:0 0 0 6px rgba(63,220,255,.62),0 0 38px rgba(63,220,255,.85),inset 0 2px 0 rgba(255,255,255,.6),0 6px 0 #0b4aa8}}
.mrt2-claim-seta{border-top-color:#bff4ff;filter:drop-shadow(0 0 6px rgba(63,220,255,.85))}
/* entrada pelo link do treino: até a camada do treino montar, o app por trás (lobby antigo da engine) não aparece */
html.mrt2-boot #root{visibility:hidden}
html.mrt2-boot::before{content:"";position:fixed;inset:0;z-index:2147482000;pointer-events:none;
  background:linear-gradient(rgba(2,16,44,.6),rgba(2,16,44,.94)),url('/minions-rush/assets/bet/laboratory-corridor.webp') center 38%/cover no-repeat}
html.mrt2-boot::after{content:"";position:fixed;left:50%;top:50%;z-index:2147482001;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;
  border:4px solid rgba(52,205,255,.2);border-top-color:#ffe328;animation:mrt2-girar 1s linear infinite;pointer-events:none}
@media (prefers-reduced-motion:reduce){.mrt2-btn--start:not([disabled]),.mrt2-sheet.is-loading::after,html.mrt2-boot::after,.mrt2-claim .mrt2-btn--claim{animation:none}}
/* ===== r7d (10/11/2026, pedido do usuário) ===== */
/* barra de meta: layout do Candy (aposta | valor | meta) com o painel do jogo real (azul-marinho, borda ciano,
   barra amarela grossa com brilho e a porcentagem ao lado) */
.mrt2-chud-box{padding:9px 14px 27px;border-radius:19px;border:1.5px solid #31b7ff;
  background:linear-gradient(145deg,rgba(6,65,110,.94),rgba(0,27,59,.94) 55%,rgba(0,35,69,.95));
  box-shadow:inset 0 1px 5px rgba(128,213,255,.32),0 0 0 3px rgba(49,183,255,.12),0 6px 18px rgba(0,18,44,.5)}
.mrt2-chud-row{position:absolute;left:16px;right:12px;bottom:9px;display:flex;align-items:center;gap:8px}
.mrt2-chud-row .mrt2-chud-bar{position:relative;left:auto;right:auto;bottom:auto;flex:1;height:9px;border-radius:20px;
  background:linear-gradient(#1e527b,#24567e);box-shadow:inset 0 1px 2px rgba(0,0,0,.35);overflow:hidden}
.mrt2-chud-row .mrt2-chud-bar i{position:relative;background:linear-gradient(#fff68a,#ffe238 55%,#ffc51c);box-shadow:0 0 9px rgba(255,221,76,.5)}
.mrt2-chud-row .mrt2-chud-bar i::after{content:"";position:absolute;right:0;top:0;width:7px;height:100%;border-radius:9px;background:#fffbe0;opacity:.85}
.mrt2-chud-pct{min-width:31px;font-style:normal;font-size:11.5px;font-weight:900;color:#ffe238;text-align:right;font-variant-numeric:tabular-nums}
.mrt2-chud-side small{color:#93dbff}
.mrt2-chud-pill{border:1px solid #3db5ff;background:#00254b;box-shadow:0 5px 14px rgba(0,18,44,.45)}
.mrt2-chud-pill span{color:#e2f7ff}
.mrt2-chud.is-unlocked .mrt2-chud-box{border-color:#7fe8ff;box-shadow:0 0 0 3px rgba(63,220,255,.38),0 0 30px rgba(63,220,255,.5)}
.mrt2-chud.is-unlocked .mrt2-chud-bar i{background:linear-gradient(90deg,#ffe238,#fff8c0,#ffe238);background-size:200% 100%;animation:mrt2-barra-cheia 1.1s linear infinite}
.mrt2-chud.is-unlocked .mrt2-chud-pct{color:#7ff7c6}
@keyframes mrt2-barra-cheia{to{background-position:-200% 0}}
/* meta batida (como no Candy, caprichado): cena escurece em volta, borda neon correndo, selo com o valor */
.mrt2-goal-dim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,rgba(3,10,28,.1),rgba(3,10,28,.6) 78%);
  animation:mrt2-fade .4s ease-out both}
.mrt2-edge{inset:6px;border-radius:22px;opacity:1;animation:none;box-shadow:inset 0 0 24px rgba(63,220,255,.4),0 0 14px rgba(63,220,255,.35)}
.mrt2-edge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mrt2-edge rect{fill:none;stroke:#59e1ff;stroke-width:4;stroke-linecap:round;stroke-dasharray:20 80;filter:drop-shadow(0 0 6px #3fdcff);
  animation:mrt2-energia 3.4s linear infinite}
.mrt2-edge rect.b{stroke:#ffe238;stroke-width:3;stroke-dasharray:12 88;animation-delay:-1.7s;filter:drop-shadow(0 0 5px #ffd83a)}
@keyframes mrt2-energia{to{stroke-dashoffset:-100}}
.mrt2-goal-stamp{position:absolute;left:50%;top:calc(var(--mrt-safe-top) + 128px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:9px 26px 11px;border-radius:20px;border:1.5px solid #7fe8ff;pointer-events:none;transform:translateX(-50%);
  background:linear-gradient(145deg,rgba(6,65,110,.96),rgba(0,27,59,.96));box-shadow:0 0 0 4px rgba(63,220,255,.2),0 0 34px rgba(63,220,255,.45),0 12px 28px rgba(0,8,30,.5);
  animation:mrt2-selo .6s var(--mrt-ease-pop) .1s both}
.mrt2-goal-stamp small{font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#7ff7c6}
.mrt2-goal-stamp strong{font-size:clamp(30px,9vw,42px);font-weight:900;line-height:1.08;color:#ffe238;font-variant-numeric:tabular-nums;
  text-shadow:0 3px 0 #8a5a00,0 0 20px rgba(255,216,58,.5)}
.mrt2-goal-stamp span{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#e2f7ff}
.mrt2-goal-stamp img{width:18px;height:18px;object-fit:contain}
@keyframes mrt2-selo{0%{opacity:0;transform:translateX(-50%) scale(.4) rotate(-6deg)}60%{opacity:1;transform:translateX(-50%) scale(1.08) rotate(1deg)}
  100%{opacity:1;transform:translateX(-50%) scale(1)}}
.mrt2.is-short .mrt2-goal-stamp{display:none}
@media (prefers-reduced-motion:reduce){.mrt2-goal-stamp,.mrt2-goal-dim,.mrt2-edge rect,.mrt2-chud.is-unlocked .mrt2-chud-bar i{animation:none}}
/* ===== r7e (10/11/2026, pedido do usuário) ===== */
/* meta batida: a barra de cima sai (o selo já mostra o valor, a meta e as bananas) e o selo sobe para o lugar dela */
.mrt2.is-goal .mrt2-chud{visibility:hidden;opacity:0}
.mrt2.is-goal .mrt2-goal-stamp{top:calc(var(--mrt-safe-top) + 22px)}
@container (max-width:620px){.mrt2.is-goal .mrt2-goal-stamp{top:calc(var(--mrt-safe-top) + 18px)}}
/* tela final: título e "Agora você está pronto…" digitados letra a letra (como no Candy) */
.mrt2-final .mrt2-sheet-h .is-hl{color:#46f2a8}
.mrt2-win p .is-hl{color:var(--mrt-amarelo)}
.mrt2-sheet .mrt2-c{opacity:0;transform:translateY(4px) scale(.7)}
.mrt2-sheet .mrt2-c.on{opacity:1;transform:none;transition:opacity .12s linear,transform .2s var(--mrt-ease-pop)}
@media (prefers-reduced-motion:reduce){.mrt2-sheet .mrt2-c{transform:none;transition:none}}
/* ===== r8 (10/11/2026, prompt da sessão) ===== */
/* meta batida: contador de bananas encaixado no selo, chuva de bananas e confirmação no Resgatar */
.mrt2-goal-stamp .mrt2-goal-ban{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:3px 11px 3px 6px;border-radius:999px;
  border:1px solid #3db5ff;background:#00254b;font-size:12px;font-weight:800;line-height:1;color:#e2f7ff}
.mrt2-goal-stamp .mrt2-goal-ban img{width:20px;height:20px;object-fit:contain;flex:none}
.mrt2-goal-stamp .mrt2-goal-ban b{font-size:14px;font-weight:900;color:#ffe238;font-variant-numeric:tabular-nums}
.mrt2-chuva{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}
.mrt2-chuva i{position:absolute;top:-60px;width:var(--tam,28px);height:var(--tam,28px);background:center/contain no-repeat;
  animation:mrt2-chuva 1.6s cubic-bezier(.35,.1,.65,1) both;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
@keyframes mrt2-chuva{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(calc(100vh + 80px)) rotate(var(--giro,360deg))}}
.mrt2-claim .mrt2-btn--claim.is-ok{animation:mrt2-resgatou .55s var(--mrt-ease-pop) both}
.mrt2-claim .mrt2-btn--claim.is-ok::before{content:"";position:absolute;inset:-6px;border-radius:22px;border:3px solid #7fe8ff;animation:mrt2-anel .6s ease-out both;pointer-events:none}
@keyframes mrt2-resgatou{0%{transform:scale(1)}35%{transform:scale(.94)}70%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes mrt2-anel{0%{opacity:.9;transform:scale(.9)}100%{opacity:0;transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){.mrt2-chuva{display:none}.mrt2-claim .mrt2-btn--claim.is-ok,.mrt2-claim .mrt2-btn--claim.is-ok::before{animation:none}}
/* ===== r10 (11/11/2026, pedido do usuário): treino livre com assistência, legenda palavra por palavra, resgate compacto ===== */
/* câmera lenta perto do obstáculo de ensino: vinheta ciano nas bordas (a pista corre a ~50% até o gesto) */
.mrt2::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .22s ease-out;
  background:radial-gradient(ellipse 78% 64% at 50% 58%,rgba(63,220,255,0) 52%,rgba(63,220,255,.22) 78%,rgba(2,12,34,.72) 100%)}
.mrt2.is-slow::before{opacity:1}
.mrt2-gesture[data-mode=hold].is-on .mrt2-hand,.mrt2-gesture[data-mode=hold].is-on .mrt2-trail,.mrt2-gesture[data-mode=hold].is-on .mrt2-hand i{animation-duration:1.1s}
/* o treino fez o gesto: a mão mostra o movimento uma vez, rápido */
.mrt2-gesture[data-mode=auto].is-on .mrt2-hand,.mrt2-gesture[data-mode=auto].is-on .mrt2-trail,.mrt2-gesture[data-mode=auto].is-on .mrt2-hand i{
  animation-duration:.75s;animation-iteration-count:1;animation-fill-mode:both}

/* legenda: título em Lilita One com contorno azul-marinho e frase de baixo em Nunito; entra palavra por palavra no ritmo da
   fala (dublagem por IA) e o destaque fica amarelo com brilho. Halo escuro suave atrás (sem caixa) para ler sobre a pista */
.mrt2-msg::before{content:"";position:absolute;left:50%;top:50%;width:calc(100% + 64px);height:calc(100% + 46px);transform:translate(-50%,-50%);
  z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(closest-side,rgba(2,10,30,.5),rgba(2,10,30,.24) 58%,rgba(2,10,30,0))}
.mrt2-msg.is-empty::before{display:none}
.mrt2-title{font-family:"Lilita One","Baloo 2",var(--mrt-fonte);font-weight:400;letter-spacing:.012em;line-height:1.08;font-size:clamp(23px,6.4vw,30px);color:#fff;
  text-shadow:0 3px 0 #071a3f,2.5px 0 0 #071a3f,-2.5px 0 0 #071a3f,0 -2.5px 0 #071a3f,2px 2px 0 #071a3f,-2px 2px 0 #071a3f,2px -2px 0 #071a3f,-2px -2px 0 #071a3f,0 8px 18px rgba(0,0,0,.45)}
.mrt2-msg.is-big .mrt2-title{font-size:clamp(26px,7.4vw,34px)}
.mrt2-sub{font-family:"Nunito",var(--mrt-fonte);font-weight:900;font-size:clamp(15px,4.1vw,18px);letter-spacing:.005em;margin-top:5px}
.mrt2-msg .mrt2-pw{display:inline-block;opacity:0;transform:translateY(.32em) scale(.78);transition:opacity .14s ease-out,transform .34s cubic-bezier(.2,1.5,.4,1)}
.mrt2-msg .mrt2-pw.on{opacity:1;transform:none}
.mrt2-title .mrt2-pw.is-hl{color:#ffe14a;
  text-shadow:0 3px 0 #071a3f,2.5px 0 0 #071a3f,-2.5px 0 0 #071a3f,0 -2.5px 0 #071a3f,2px 2px 0 #071a3f,-2px 2px 0 #071a3f,2px -2px 0 #071a3f,-2px -2px 0 #071a3f,0 0 18px rgba(255,214,58,.6)}
.mrt2-sub .mrt2-pw.is-hl{color:#ffe14a}
.mrt2-msg.is-alert .mrt2-title{color:#ffc1b2}
.mrt2-msg.is-typing .mrt2-sub::after{display:none}
@media (prefers-reduced-motion:reduce){.mrt2-msg .mrt2-pw{transition:none;transform:none}}

/* meta batida: sem o selo de cima; embaixo o valor contando numa pílula dourada e o Resgatar arredondado, menor */
.mrt2-claim{gap:10px;padding:0 16px calc(24px + var(--mrt-safe-bottom))}
.mrt2-claim-seta{display:none}
.mrt2-claim-val{display:inline-flex;align-items:center;gap:8px;padding:5px 18px 5px 8px;border-radius:999px;
  border:1.5px solid rgba(255,226,74,.75);background:linear-gradient(180deg,rgba(20,52,104,.92),rgba(5,22,52,.94));
  box-shadow:0 0 0 4px rgba(255,216,58,.14),0 0 26px rgba(255,216,58,.38),0 10px 22px rgba(0,8,30,.45);animation:mrt2-val-in .5s cubic-bezier(.2,1.4,.4,1) both}
.mrt2-claim-val img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.mrt2-claim-val strong{font-family:"Lilita One",var(--mrt-fonte);font-weight:400;font-size:clamp(28px,8vw,36px);line-height:1;color:#ffe238;letter-spacing:.01em;
  font-variant-numeric:tabular-nums;text-shadow:0 3px 0 #7c5815,0 0 16px rgba(255,216,58,.5)}
.mrt2-claim .mrt2-btn--claim{width:min(270px,76%);min-height:52px;border-radius:999px;padding:0 26px;
  font-family:"Lilita One",var(--mrt-fonte);font-weight:400;font-size:clamp(20px,5.4vw,23px);letter-spacing:.03em}
@keyframes mrt2-val-in{0%{opacity:0;transform:translateY(14px) scale(.7)}60%{opacity:1;transform:translateY(-3px) scale(1.06)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mrt2-claim-val{animation:none}}

/* r12: "AGORA!" no instante exato do pulo/deslize — aparece sobre o Minion e some em 0,8 s */
.mrt2-agora{position:absolute;left:50%;top:58%;z-index:6;pointer-events:none;transform:translate(-50%,-50%);
  padding:6px 16px;border-radius:999px;border:2px solid #fff3b0;background:linear-gradient(180deg,#ffe979,#ffd21f 55%,#f0a800);
  color:#3a2b09;font:400 26px/1 var(--mt-titulo,'Lilita One',sans-serif);letter-spacing:.03em;
  box-shadow:0 4px 0 #a8670a,0 0 26px rgba(255,216,58,.65);animation:mrt2-agora .8s cubic-bezier(.2,.9,.3,1.3) both}
.mrt2-agora--up{top:52%}.mrt2-agora--down{top:64%}
@keyframes mrt2-agora{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}
  32%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-62%) scale(1)}}
@media (prefers-reduced-motion:reduce){.mrt2-agora{animation:mrt2-agora-rm .8s linear both}
  @keyframes mrt2-agora-rm{0%,80%{opacity:1}100%{opacity:0}}}

/* r12d: saída da legenda com animação (antes só sumia) */
.mrt2-msg.is-out{animation:mrt2-cap-out .26s cubic-bezier(.4,0,1,1) both}
@keyframes mrt2-cap-out{to{opacity:0;transform:translate(-50%,-10px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.mrt2-msg.is-out{animation:none;opacity:0}}

/* r12e: valor da meta batida como cartão de prêmio (antes: pílula simples) */
.mrt2-claim-val{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;row-gap:3px;
  padding:9px 24px 11px 14px;border-radius:20px;border:2px solid #ffd83a;
  background:radial-gradient(ellipse 80% 120% at 30% 0%,rgba(255,216,58,.22),transparent 60%),linear-gradient(180deg,#14427e,#071f4a);
  box-shadow:0 0 0 4px rgba(255,216,58,.16),0 0 34px rgba(255,216,58,.42),inset 0 1px 0 rgba(255,255,255,.18),0 12px 26px rgba(0,8,30,.5)}
.mrt2-claim-val::before{content:"META BATIDA";grid-column:1 / -1;justify-self:center;font:900 11px/1 "Nunito",var(--mrt-fonte);
  letter-spacing:.2em;color:#bff4ff}
.mrt2-claim-val::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.26) 50%,transparent 65%) -150% 0/250% 100% no-repeat;
  animation:mrt2-val-brilho 2.6s ease-in-out .7s infinite}
@keyframes mrt2-val-brilho{0%{background-position:-150% 0}60%,100%{background-position:150% 0}}
.mrt2-claim-val img{width:40px;height:40px}
.mrt2-claim-val strong{font-size:clamp(32px,9vw,42px)}
@media (prefers-reduced-motion:reduce){.mrt2-claim-val::after{animation:none;opacity:0}}

/* ================= r12f (pedido do usuário): meta batida sem caixa e sem banana; Resgatar dourado como o JOGAR ================= */
.mrt2-claim{gap:12px}
.mrt2-claim-val{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  animation:mrt2-meta-pop .6s cubic-bezier(.2,1.4,.4,1) both}
.mrt2-claim-val img,.mrt2-claim-val::after{display:none}
.mrt2-claim-val::before{content:"META BATIDA";padding:6px 14px 5px;border-radius:999px;background:linear-gradient(180deg,#fff3a0,#ffd21f);color:#3a2b09;
  font:900 12px/1 "Nunito",var(--mrt-fonte);letter-spacing:.18em;box-shadow:0 3px 0 #a8670a,0 0 18px rgba(255,216,58,.5)}
.mrt2-claim-val strong{font-family:"Lilita One",var(--mrt-fonte);font-weight:400;font-size:clamp(48px,13vw,66px);line-height:1;letter-spacing:.01em;
  background:linear-gradient(180deg,#fffbe0 0%,#ffe14d 42%,#ffb21a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:none;filter:drop-shadow(0 3px 0 #7a4600) drop-shadow(0 0 22px rgba(255,200,40,.55))}
.mrt2-btn--claim,.mrt2-claim .mrt2-btn--claim{border:2px solid #fff3b0;background:linear-gradient(180deg,#ffe979,#ffd21f 55%,#f0a800);color:#3a2b09;
  text-shadow:0 1px 0 rgba(255,255,255,.55);
  box-shadow:inset 0 3px 0 rgba(255,255,255,.65),inset 0 -4px 0 rgba(180,110,0,.32),0 5px 0 #a8670a,0 10px 24px rgba(255,190,30,.28);
  animation:mrt2-resgate-ouro 2.2s ease-in-out infinite}
.mrt2-claim .mrt2-btn--claim[disabled]{animation:none}
@keyframes mrt2-resgate-ouro{50%{box-shadow:inset 0 3px 0 rgba(255,255,255,.65),inset 0 -4px 0 rgba(180,110,0,.32),0 5px 0 #a8670a,0 0 34px rgba(255,210,50,.7)}}
@keyframes mrt2-meta-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mrt2-claim-val,.mrt2-claim .mrt2-btn--claim{animation:none}}
