/* Splash 32e. All positions are in a fixed 402 x 874 design stage; splash-32e.js scales the stage to fit the screen.
   Splash lockup is .wi-splogo — never .wi-logo (that class is header-31d’s site lockup; opacity:0 wiped it). */
.wi-splash {
  position: fixed; inset: 0; z-index: 9999; background: #FFFFFF; overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased; -webkit-user-select: none; user-select: none;
  transition: opacity .28s ease; opacity: 1;
}
.wi-splash.out { opacity: 0; pointer-events: none; }
.wi-splash.hide { display: none !important; }
.wi-splash .wi-splash__stage { position: absolute; left: 50%; top: 50%; width: 402px; height: 874px; transform-origin: 50% 50%; }
.wi-splash .wi-splash__scene { position: absolute; inset: 0; will-change: opacity, transform; }

/* Four verdict stamps: all centred on the same point (201, 320) */
.wi-splash .wi-stamp {
  position: absolute; left: 50%; top: 320px; opacity: 0;
  display: inline-flex; align-items: center; gap: 14px; height: 80px; padding: 0 28px 0 14px; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 60%), var(--c); color: #FFFFFF;
  outline: 1.5px dashed rgba(255,255,255,.5); outline-offset: -7px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 14px 30px rgba(0,0,0,.18);
  white-space: nowrap; will-change: opacity, transform;
  pointer-events: none;
}
.wi-splash .wi-stamp__ico { width: 50px; height: 50px; border-radius: 50%; background: rgba(255,255,255,.2); display: grid; place-items: center; }
.wi-splash .wi-stamp__w { font-size: 38px; font-weight: 800; letter-spacing: .04em; line-height: 1; }

/* Logo lockup, centred on (201, 320) */
.wi-splash .wi-splogo-row { position: absolute; left: 0; right: 0; top: 320px; display: flex; justify-content: center; pointer-events: none; }
.wi-splash .wi-splogo {
  display: inline-flex; align-items: center; gap: 4px; opacity: 0;
  font-size: 44px; font-weight: 800; letter-spacing: -.045em; color: #1D1D1F;
  margin-top: -27px; /* = translateY(-50%) of the 54px-tall lockup; keeps transform free for the animation */
  will-change: opacity, transform;
}
.wi-splash .wi-splogo__sticker { display: inline-block; padding: 4px 15px 7px; border-radius: 14px; background: #FFC21A; transform: rotate(-3deg); }

/* Bao: 210 x 210 box, feet at y = 606. Sprite = 33 frames in one row, 360 px each.
   Asset lives at the shared wait-state path — do not duplicate the file. */
.wi-splash .wi-bao {
  position: absolute; left: 96px; top: 396px; width: 210px; height: 210px; opacity: 0;
  background: url("/vendor/wait-state-assets/bao-anim-land.webp") 0 0 / 3300% 100% no-repeat;
  transform-origin: 50% 100%;
  filter: drop-shadow(0 6px 8px rgba(0,0,0,.14));
  will-change: transform, background-position;
  pointer-events: none;
}
.wi-splash .wi-shadow {
  position: absolute; left: 50%; top: 598px; width: 120px; height: 20px; margin-left: -60px; border-radius: 50%; opacity: 0;
  background: radial-gradient(ellipse at center, rgba(20,20,30,.3) 0%, rgba(20,20,30,.12) 45%, rgba(20,20,30,0) 72%);
  pointer-events: none;
}
.wi-splash .wi-dust { position: absolute; top: 596px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: rgba(160,150,140,.5); opacity: 0; pointer-events: none; }

.wi-splash .wi-tag {
  position: absolute; left: 0; right: 0; top: 650px; text-align: center; opacity: 0;
  font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: #1D1D1F;
  pointer-events: none;
}
