/* =========================================================
   FEATURED BRAND GAME — OPERATION BIG AF
   Replaces the old random-object hunt.
   ========================================================= */

.ff-batch-showcase__gallery {
  padding: clamp(20px, 3vw, 38px) !important;
  background: #b9d9f4 !important;
}

.ff-batch-showcase__gallery::before,
.ff-batch-showcase__gallery::after {
  display: none !important;
}

.ff-batch-airlift {
  position: relative;
  width: min(100%, 520px);
  aspect-ratio: 1086 / 1357;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #b9d9f4;
  box-shadow: 0 26px 52px rgba(5, 30, 53, .28);
  isolation: isolate;
  user-select: none;
  touch-action: pan-y;
}

.ff-batch-airlift__bridge,
.ff-batch-airlift__disposable,
.ff-batch-airlift__flight-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ff-batch-airlift__bridge,
.ff-batch-airlift__disposable {
  display: block;
  object-fit: contain;
  pointer-events: none;
}

.ff-batch-airlift__bridge { z-index: 1; }
.ff-batch-airlift__flight-layer {
  z-index: 5;
  pointer-events: none;
  transform-origin: 50% 50%;
}
.ff-batch-airlift__disposable {
  z-index: 2;
  filter: drop-shadow(0 18px 20px rgba(3, 20, 34, .22));
  animation: fbPayloadBreathe 6.5s ease-in-out infinite;
}

.ff-batch-airlift__car-trigger {
  position: absolute;
  z-index: 16;
  left: 16.1%;
  top: 75.1%;
  width: 7.4%;
  aspect-ratio: 2.3 / 1;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ff-batch-airlift__car-trigger::after {
  content: "";
  position: absolute;
  inset: -9px;
  border-radius: 999px;
}
.ff-batch-airlift__car-trigger:focus-visible {
  outline: 3px solid #ffd168;
  outline-offset: 5px;
}

.fb-mission-hud {
  position: absolute;
  z-index: 17;
  left: 14px;
  right: 14px;
  top: 14px;
  display: grid;
  gap: 8px;
  pointer-events: none;
}
.fb-airlift-message {
  width: fit-content;
  max-width: min(92%, 470px);
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(4, 19, 32, .78);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
  font-family: "Outfit", sans-serif;
  font-size: clamp(.67rem, 1.3vw, .82rem);
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}
.fb-airlift-message {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .5s ease, transform .5s ease;
}
.fb-airlift-message.is-visible {
  opacity: 1;
  transform: none;
}

.fb-helicopter {
  position: absolute;
  z-index: 7;
  width: 34%;
  height: auto;
  opacity: 0;
  filter: drop-shadow(0 10px 8px rgba(0,0,0,.33));
  transform: translate3d(var(--from-x), var(--from-y), 0) scale(.72);
  transition:
    transform 2.7s cubic-bezier(.18,.72,.18,1),
    opacity .55s ease;
}
.fb-helicopter img {
  display: block;
  width: 100%;
  height: auto;
}

.fb-helicopter--2 img,
.fb-helicopter--4 img {
  transform: scaleX(-1);
}

.fb-helicopter.is-arriving {
  opacity: 1;
  transform: translate3d(0,0,0) scale(var(--scale, .5));
}
.fb-helicopter.is-hovering {
  animation: fbHelicopterHover var(--hover-time, 3.7s) ease-in-out infinite;
}
.fb-helicopter--1 { left: 5%; top: 29%; --from-x: -125%; --from-y: -45%; --scale: .46; }
.fb-helicopter--2 { right: 3%; top: 31%; --from-x: 125%; --from-y: -55%; --scale: .43; }
.fb-helicopter--3 { left: 9%; top: 48%; --from-x: -135%; --from-y: 28%; --scale: .40; }
.fb-helicopter--4 { right: 5%; top: 49%; --from-x: 135%; --from-y: 32%; --scale: .39; }

.fb-lift-cable {
  position: absolute;
  z-index: 6;
  width: 1px;
  height: 0;
  opacity: 0;
  background: rgba(18, 25, 30, .72);
  transform-origin: top;
  transition: height 1.25s ease, opacity .65s ease;
}
.fb-lift-cable.is-taut { opacity: .8; }
.fb-lift-cable--1 { left: 30%; top: 44%; transform: rotate(-12deg); }
.fb-lift-cable--2 { right: 29%; top: 45%; transform: rotate(12deg); }
.fb-lift-cable--3 { left: 34%; top: 60%; transform: rotate(-7deg); }
.fb-lift-cable--4 { right: 33%; top: 60%; transform: rotate(7deg); }
.fb-lift-cable.is-taut { height: 20%; }

.ff-batch-airlift.is-rigged .ff-batch-airlift__flight-layer {
  animation: fbRiggedSway 2.7s ease-in-out infinite;
}
.ff-batch-airlift.is-lifting .ff-batch-airlift__flight-layer {
  animation: fbAirliftExit 8.5s cubic-bezier(.34,.03,.54,1) forwards;
}
.ff-batch-airlift.is-lifting .ff-batch-airlift__disposable {
  animation: none;
}

.fb-eyes {
  position: absolute;
  z-index: 18;
  top: 42%;
  width: 32px;
  height: 26px;
  border: 0;
  padding: 0;
  background: transparent;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
.fb-eyes.is-right { right: -22px; transform: translateX(18px); }
.fb-eyes.is-left { left: -22px; transform: translateX(-18px) scaleX(-1); }
.fb-eyes.is-visible { opacity: 1; pointer-events: auto; }
.fb-eyes.is-right.is-visible { transform: translateX(-12px); }
.fb-eyes.is-left.is-visible { transform: translateX(12px) scaleX(-1); }
.fb-eyes.is-found {
  pointer-events: none;
  animation: fbCluePop .75s ease forwards;
}

.fb-spark {
  position: absolute;
  z-index: 18;
  right: 12%;
  top: 7%;
  width: 38px;
  height: 38px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  color: #ffe070;
  text-shadow: 0 0 10px #fff, 0 0 24px #fbc43d;
  font-size: 1.7rem;
  cursor: pointer;
  animation: fbSparkSearch 7.8s ease-in-out infinite;
}
.fb-spark.is-found {
  pointer-events: none;
  animation: fbSparkPower .9s ease forwards;
}

.fb-lungs-zone {
  position: absolute;
  z-index: 18;
  left: 3.8%;
  bottom: 4.4%;
  width: 27%;
  aspect-ratio: 1.22;
  border-radius: 48% 52% 44% 56% / 56% 42% 58% 44%;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.fb-lungs-button {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  font-size: clamp(2.1rem, 7vw, 3.7rem);
  cursor: pointer;
  opacity: .18;
  transform: scale(.86);
  transition: opacity .6s ease, transform .6s ease;
}
.fb-lungs-zone.is-cleared .fb-lungs-button {
  opacity: 1;
  transform: scale(1);
}
.fb-lungs-zone.is-found .fb-lungs-button {
  pointer-events: none;
  animation: fbCluePop .75s ease forwards;
}
.fb-lungs-smoke {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
  opacity: .96;
  transition: opacity .7s ease;
  pointer-events: none;
}

.fb-mission-counter {
  position: absolute;
  z-index: 18;
  right: 14px;
  bottom: 14px;
  display: grid;
  gap: 2px;
  min-width: 140px;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 16px;
  background: rgba(5, 24, 39, .82);
  color: #fff;
  box-shadow: 0 13px 30px rgba(0,0,0,.26);
  backdrop-filter: blur(9px);
  pointer-events: none;
}
.fb-mission-counter span {
  color: #91cfff;
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.fb-mission-counter strong {
  font-size: .78rem;
}
.fb-mission-counter.is-dormant { opacity: .48; }
.fb-mission-counter.is-dormant span { color: rgba(255,255,255,.55); }

.fb-toast {
  position: fixed;
  z-index: 12050;
  left: 50%;
  bottom: 30px;
  max-width: min(92vw, 660px);
  padding: 15px 22px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: #071a2a;
  color: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,.35);
  font-weight: 900;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 28px) scale(.96);
  pointer-events: none;
}
.fb-toast.is-showing { animation: fbToast 4.8s ease both; }

/* Trivia + reward */
.fb-game-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s ease;
}
.fb-game-modal.is-open { opacity: 1; pointer-events: auto; }
.fb-game-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 11, 18, .84);
  backdrop-filter: blur(11px);
}
.fb-game-card {
  position: relative;
  z-index: 1;
  width: min(940px, 94vw);
  max-height: 90vh;
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  overflow: auto;
  border: 1px solid rgba(117,198,255,.42);
  border-radius: 30px;
  background: linear-gradient(145deg,#123d61,#071927 68%);
  color: #fff;
  box-shadow: 0 34px 100px rgba(0,0,0,.58);
  transform: translateY(35px) scale(.94);
  transition: transform .7s cubic-bezier(.16,.8,.2,1);
}
.fb-game-modal.is-open .fb-game-card { transform: none; }
.fb-game-art { min-height: 540px; overflow: hidden; background: #b8ddfa; }
.fb-game-art img { width: 100%; height: 100%; min-height: 540px; object-fit: cover; object-position: center; }
.fb-game-copy { padding: clamp(32px,5vw,58px); align-self: center; }
.fb-game-kicker { color:#79c7ff; font-size:.72rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.fb-game-copy h2 { margin:16px 0; font-family:"Playfair Display",serif; font-size:clamp(2rem,4vw,3.7rem); line-height:1.02; }
.fb-game-copy p { color:rgba(255,255,255,.78); line-height:1.65; }
.fb-game-close {
  position:absolute; top:18px; right:18px; z-index:3;
  width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.08); color:#fff;
  font-size:1.4rem; cursor:pointer;
}
.fb-game-form { display:flex; gap:10px; margin-top:22px; }
.fb-game-form input {
  flex:1; min-width:0; padding:14px 16px; border-radius:999px;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(255,255,255,.08); color:#fff; font:inherit;
}
.fb-game-form button {
  padding:0 20px; border:0; border-radius:999px;
  background:#75c6ff; color:#082039; font-weight:900; cursor:pointer;
}
.fb-game-feedback { min-height:34px; margin-top:12px; color:#ffb7c8 !important; font-weight:800; }
.fb-game-card.is-wrong { animation:fbWrong 1.1s ease; }
.fb-game-card.is-doomed { animation:fbDoomed 1.4s ease-in-out infinite; filter:saturate(1.8); }
.fb-game-pass {
  margin-top:24px; padding:22px;
  border:1px dashed rgba(255,255,255,.5);
  border-radius:20px; background:rgba(255,255,255,.08);
}
.fb-game-pass strong,.fb-game-pass b,.fb-game-pass small,.fb-game-pass span { display:block; }
.fb-game-pass b { margin:14px 0 6px; font-size:1.7rem; letter-spacing:.08em; }

/* Emergency hotbox */
.fb-emergency {
  position:fixed; inset:0; z-index:13000; display:grid; place-items:center;
  padding:30px; text-align:center; color:#fff;
  background:rgba(4,9,14,.55);
  font-family:"Outfit",sans-serif;
  font-size:clamp(2.6rem,8vw,7.4rem); font-weight:900;
  text-shadow:0 10px 35px rgba(0,0,0,.78);
  pointer-events:none;
  transition:background 1s ease,color .7s ease;
}
.fb-emergency.is-blackout { background:#000; }
.fb-emergency.is-confused { color:rgba(255,255,255,.82); font-size:clamp(1.8rem,5vw,4rem); font-family:"Playfair Display",serif; font-style:italic; }
.fb-emergency.is-fire {
  background:
    radial-gradient(circle at 50% 75%,rgba(255,195,72,.72),transparent 17%),
    radial-gradient(circle at 40% 90%,rgba(255,82,18,.72),transparent 34%),
    radial-gradient(circle at 70% 90%,rgba(255,118,20,.6),transparent 35%),
    #050201;
  animation:fbFireFlicker .25s steps(2) infinite;
}
.fb-game-smoke { position:fixed; inset:0; z-index:14000; overflow:hidden; pointer-events:none; }
.fb-game-smoke i {
  position:absolute; width:42vmax; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.98),rgba(205,216,224,.92) 42%,rgba(135,151,164,.58) 68%,transparent 72%);
  filter:blur(12px); opacity:0; transform:scale(.25);
}
.fb-game-smoke.is-active i { animation:fbSmokeIn 3.2s ease-out forwards; }
.fb-game-smoke.is-clearing { animation:fbSmokeClear 3s ease forwards; }

/* Keep the cute Batch logo wobble. */
.ff-batch-showcase__logo { transform-origin:center; animation:fbLogoWobble 10s ease-in-out infinite; }

@keyframes fbPayloadBreathe { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes fbHelicopterHover { 0%,100%{transform:translateY(0) rotate(-.7deg) scale(var(--scale,.5))} 50%{transform:translateY(-7px) rotate(.8deg) scale(var(--scale,.5))} }
@keyframes fbRiggedSway { 0%,100%{transform:translateY(0) rotate(-.25deg)} 50%{transform:translateY(-5px) rotate(.35deg)} }
@keyframes fbAirliftExit {
  0%{transform:translateY(0) rotate(0); filter:brightness(1)}
  18%{transform:translateY(-2.5%) rotate(-.3deg)}
  36%{transform:translateY(-8%) rotate(.35deg)}
  100%{transform:translateY(-145%) rotate(-1.5deg); filter:brightness(1.08)}
}

@keyframes fbSparkSearch {
  0%,100%{transform:translate(0,0) rotate(0) scale(.82)}
  25%{transform:translate(-24px,14px) rotate(90deg) scale(1.2)}
  50%{transform:translate(-7px,38px) rotate(180deg) scale(.9)}
  75%{transform:translate(-42px,22px) rotate(270deg) scale(1.12)}
}
@keyframes fbSparkPower { to{opacity:0;transform:scale(2.8) rotate(260deg);filter:brightness(2)} }
@keyframes fbCluePop { to{opacity:0;transform:scale(1.9) rotate(12deg)} }
@keyframes fbToast {
  0%{opacity:0;transform:translate(-50%,28px) scale(.96)}
  12%,82%{opacity:1;transform:translate(-50%,0) scale(1)}
  100%{opacity:0;transform:translate(-50%,-16px) scale(.98)}
}
@keyframes fbLogoWobble {
  0%,70%,100%{transform:rotate(0) scale(1)}
  75%{transform:rotate(-3deg) scale(1.03)}
  80%{transform:rotate(3deg) scale(1.04)}
  85%{transform:rotate(-2deg) scale(1.02)}
  90%{transform:rotate(0) scale(1)}
}
@keyframes fbWrong {
  0%,100%{transform:translateX(0)} 15%{transform:translateX(-24px) rotate(-1deg)}
  30%{transform:translateX(20px) rotate(1deg)} 45%{transform:translateX(-15px)}
  60%{transform:translateX(10px)} 75%{transform:translateX(-5px)}
}
@keyframes fbDoomed { 0%,100%{transform:rotate(0) scale(1)} 25%{transform:rotate(-2deg) scale(1.015)} 50%{transform:rotate(2deg) scale(.99)} 75%{transform:rotate(-1deg) scale(1.01)} }
@keyframes fbFireFlicker { 0%{filter:brightness(.9) saturate(1.1)} 100%{filter:brightness(1.28) saturate(1.55)} }
@keyframes fbSmokeIn { 0%{opacity:0;transform:scale(.2)} 100%{opacity:1;transform:scale(2.5)} }
@keyframes fbSmokeClear { to{opacity:0;filter:blur(30px)} }

@media (max-width:760px) {
  .ff-batch-showcase__gallery { min-height:0 !important; padding:16px !important; }
  .ff-batch-airlift { width:100%; border-radius:18px; }
  .fb-mission-counter { right:9px; bottom:9px; min-width:124px; padding:8px 10px; }
  .fb-game-card { grid-template-columns:1fr; }
  .fb-game-art,.fb-game

/* Operation activation + locked state */
.ff-batch-showcase__content { position: relative; }
.fb-operation-button {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 9;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: #d91f4f;
  color: #fff;
  font: 900 .62rem/1 "Outfit", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(217,31,79,.28);
  animation: fbDontPush 5.8s ease-in-out infinite;
}
.fb-operation-button:hover { transform: translateY(-1px) scale(1.03); }
.fb-operation-button.is-activated {
  background: #173d5e;
  color: #7cc8ff;
  animation: none;
  cursor: default;
  opacity: .78;
}
.ff-batch-airlift.is-locked .fb-spark,
.ff-batch-airlift.is-locked .fb-eyes,
.ff-batch-airlift.is-locked .fb-lungs-zone,
.ff-batch-airlift.is-locked .ff-batch-airlift__car-trigger {
  pointer-events: none !important;
}
.ff-batch-airlift__car-trigger:disabled { cursor: default; }
.ff-batch-airlift.is-car-ready .ff-batch-airlift__car-trigger {
  pointer-events: auto;
  animation: fbCarReady 2.4s ease-in-out infinite;
}
.fb-mission-intro {
  position: fixed;
  inset: 0;
  z-index: 12500;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 28px;
  text-align: center;
  color: #fff;
  background: rgba(3,12,20,.82);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .55s ease;
}
.fb-mission-intro.fb-mission-intro--visible { opacity: 1; }
.fb-mission-intro strong {
  font: 900 clamp(2rem,6vw,5.6rem)/.95 "Outfit", sans-serif;
  letter-spacing: .02em;
}
.fb-mission-intro span {
  color: #9fd4ff;
  font: 800 clamp(1rem,2vw,1.35rem)/1.4 "Outfit", sans-serif;
}
@keyframes fbDontPush {
  0%,82%,100% { transform: scale(1); box-shadow: 0 8px 20px rgba(217,31,79,.28); }
  88% { transform: scale(1.06); box-shadow: 0 0 0 7px rgba(217,31,79,.09),0 8px 22px rgba(217,31,79,.42); }
  94% { transform: scale(.99); }
}
@keyframes fbCarReady {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,209,104,0); }
  50% { box-shadow: 0 0 0 8px rgba(255,209,104,.18); }
}
@media (max-width:760px) {
  .fb-operation-button { top: 18px; right: 18px; }
}
-art img { min-height:230px; height:230px; }
  .fb-game-copy { padding:28px; }
  .fb-game-form { flex-direction:column; }
  .fb-game-form button { min-height:48px; }
}
/* Operation activation + locked state */
.ff-batch-showcase__content { position: relative; }
.fb-operation-button {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 9;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: #d91f4f;
  color: #fff;
  font: 900 .62rem/1 "Outfit", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(217,31,79,.28);
  animation: fbDontPush 5.8s ease-in-out infinite;
}
.fb-operation-button:hover { transform: translateY(-1px) scale(1.03); }
.fb-operation-button.is-activated {
  background: #173d5e;
  color: #7cc8ff;
  animation: none;
  cursor: default;
  opacity: .78;
}
.ff-batch-airlift.is-locked .fb-spark,
.ff-batch-airlift.is-locked .fb-eyes,
.ff-batch-airlift.is-locked .fb-lungs-zone,
.ff-batch-airlift.is-locked .ff-batch-airlift__car-trigger {
  pointer-events: none !important;
}
.ff-batch-airlift__car-trigger:disabled { cursor: default; }
.ff-batch-airlift.is-car-ready .ff-batch-airlift__car-trigger {
  pointer-events: auto;
  animation: fbCarReady 2.4s ease-in-out infinite;
}
.fb-mission-intro {
  position: fixed;
  inset: 0;
  z-index: 12500;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 28px;
  text-align: center;
  color: #fff;
  background: rgba(3,12,20,.82);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .55s ease;
}
.fb-mission-intro.fb-mission-intro--visible { opacity: 1; }
.fb-mission-intro strong {
  font: 900 clamp(2rem,6vw,5.6rem)/.95 "Outfit", sans-serif;
  letter-spacing: .02em;
}
.fb-mission-intro span {
  color: #9fd4ff;
  font: 800 clamp(1rem,2vw,1.35rem)/1.4 "Outfit", sans-serif;
}
@keyframes fbDontPush {
  0%,82%,100% { transform: scale(1); box-shadow: 0 8px 20px rgba(217,31,79,.28); }
  88% { transform: scale(1.06); box-shadow: 0 0 0 7px rgba(217,31,79,.09),0 8px 22px rgba(217,31,79,.42); }
  94% { transform: scale(.99); }
}
@keyframes fbCarReady {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,209,104,0); }
  50% { box-shadow: 0 0 0 8px rgba(255,209,104,.18); }
}
@media (max-width:760px) {
  .fb-operation-button { top: 18px; right: 18px; }
}

/* Victory celebration */
.fb-victory-celebration {
  position: fixed;
  inset: 0;
  z-index: 15000;
  display: grid;
  place-content: center;
  gap: 12px;
  padding: 28px;
  overflow: hidden;
  text-align: center;
  color: #fff;
  background: radial-gradient(circle at 50% 45%, rgba(117,198,255,.3), transparent 28%), rgba(3,11,18,.9);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: scale(.96);
  pointer-events: none;
  transition: opacity .45s ease, transform .7s cubic-bezier(.16,.85,.2,1);
}
.fb-victory-celebration.is-live { opacity: 1; transform: scale(1); }
.fb-victory-celebration.is-clearing { opacity: 0; transform: scale(1.05); }
.fb-victory-celebration strong {
  position: relative;
  z-index: 2;
  font: 900 clamp(2.5rem,8vw,7rem)/.9 "Outfit", sans-serif;
  letter-spacing: .02em;
  text-shadow: 0 10px 35px rgba(0,0,0,.6);
}
.fb-victory-celebration span {
  position: relative;
  z-index: 2;
  color: #91cfff;
  font: 900 clamp(.9rem,2.2vw,1.35rem)/1.2 "Outfit", sans-serif;
  letter-spacing: .18em;
}
.fb-victory-celebration__burst {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18vmin;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,224,112,.9), rgba(117,198,255,.45) 38%, transparent 70%);
  transform: translate(-50%,-50%) scale(.2);
  animation: fbVictoryBurst 1.8s ease-out forwards;
}
.fb-victory-spark {
  position: absolute;
  left: 50%;
  top: 50%;
  color: #ffd86b;
  font-style: normal;
  font-size: clamp(1rem,2.4vw,2rem);
  opacity: 0;
  transform: translate(-50%,-50%) rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle)));
  animation: fbVictorySpark 1.7s var(--delay) cubic-bezier(.15,.75,.2,1) forwards;
}
@keyframes fbVictoryBurst {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.2); }
  35% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%,-50%) scale(6); }
}
@keyframes fbVictorySpark {
  0% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--angle)) translateX(0) rotate(calc(-1 * var(--angle))) scale(.4); }
  18% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%,-50%) rotate(var(--angle)) translateX(var(--distance)) rotate(calc(-1 * var(--angle))) scale(1.25); }
}

/* Emergency hotbox message */
.fb-hotbox-status {
  position: fixed;
  inset: 0;
  z-index: 14500;
  display: grid;
  place-content: center;
  gap: 10px;
  padding: 28px;
  text-align: center;
  color: #fff;
  opacity: 0;
  transform: scale(.94);
  pointer-events: none;
  transition: opacity .7s ease, transform .8s ease;
  text-shadow: 0 10px 35px rgba(0,0,0,.75);
}
.fb-hotbox-status.is-visible { opacity: 1; transform: scale(1); }
.fb-hotbox-status.is-clearing { opacity: 0; transform: scale(1.06); }
.fb-hotbox-status strong {
  font: 900 clamp(2.3rem,7vw,6.5rem)/.92 "Outfit", sans-serif;
}
.fb-hotbox-status span {
  max-width: 680px;
  color: rgba(255,255,255,.88);
  font: 800 clamp(1rem,2.4vw,1.5rem)/1.4 "Outfit", sans-serif;
}

@media (prefers-reduced-motion:reduce) {
  .ff-batch-showcase__logo,.ff-batch-airlift__disposable,.fb-eyes,.fb-spark,.fb-helicopter,.ff-batch-airlift__flight-layer,.fb-game-card,.fb-game-smoke i { animation:none !important; transition-duration:.01ms !important; }
}


