/* Candy Wid V7: reference-oriented praise, low-clutter board FX and crisp
   image sampling. Shared 7x8 tile renderer remains untouched. */
body.wild-tutorial-page .wild-board .wild-cell img,
body.wild-match-page .wild-board .wild-cell img {
  image-rendering:auto;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
/* A short, bright flash over the removed candies — no large white cloud. */
body.wild-tutorial-page .cw-v4-bloom,
body.wild-match-page .cw-v4-bloom {
  width:32px;height:32px;margin:-16px;
  background:radial-gradient(circle,#ffffffcf 0 12%,var(--bloom,#ffc2e0) 25%,transparent 68%);
  box-shadow:none;filter:none;mix-blend-mode:screen;
  animation:cw-v7-bloom .34s ease-out both;
}
@keyframes cw-v7-bloom {
  0%{opacity:0;transform:scale(calc(.25 * var(--fx-scale,1)))}
  35%{opacity:.87;transform:scale(calc(1.16 * var(--fx-scale,1)))}
  100%{opacity:0;transform:scale(calc(1.7 * var(--fx-scale,1)))}
}
body.wild-tutorial-page .cw-v4-fragment,
body.wild-match-page .cw-v4-fragment {
  width:6px;height:6px;margin:-3px;border-radius:2px;
  box-shadow:0 0 2px #fff9,0 0 2px var(--c,#ffe76b);
  animation-duration:.5s;
}
body.wild-tutorial-page .cw-v4-fragment.is-sparkle,
body.wild-match-page .cw-v4-fragment.is-sparkle {
  width:10px;height:10px;margin:-5px;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);
  background:#fff5a5;
}
body.wild-tutorial-page .cw-v4-gain,
body.wild-match-page .cw-v4-gain {
  font-family:'Baloo 2',system-ui,sans-serif;
  font-size:clamp(16px,4.4vw,21px)!important;
  font-weight:1000;letter-spacing:.015em;
  color:#ffe94a;-webkit-text-stroke:2px #a82e80;
  text-shadow:0 2px 1px #5f236f,0 0 3px #fff2a7;
  animation-duration:.83s;
}
/* In the reference the narrator's reactions are big outlined sprites above
   the candies, not a fixed paragraph at 32% of the browser window. */
body.wild-tutorial-page .wild-board-wrap .cw-voice-feedback {
  position:absolute;top:32%;left:50%;z-index:47;
  width:max-content;max-width:120%;padding:0 8px;
  transform:translate(-50%,-50%);margin:0;
  pointer-events:none;white-space:nowrap;text-align:center;
  font-family:'Baloo 2',system-ui,sans-serif;
  font-size:clamp(22px,5.3vw,34px);font-weight:1000;line-height:1.1;
  letter-spacing:-.022em;color:#fff7ff;
  -webkit-text-stroke:2.8px #78207a;paint-order:stroke fill;
  text-shadow:0 3px 0 #9e3da7,0 5px 2px #3b0a58,0 0 7px #ffeaff;
  filter:none;
}
body.wild-tutorial-page .cw-voice-feedback.is-visible {
  animation:cw-v7-praise-enter .3s cubic-bezier(.17,1.4,.3,1) both;
}
body.wild-tutorial-page .cw-voice-feedback.cw-reaction-clear,
body.wild-tutorial-page .cw-voice-feedback.cw-reaction-good {color:#fff7ff;}
body.wild-tutorial-page .cw-voice-feedback.cw-reaction-show {color:#fff1fa;}
body.wild-tutorial-page .cw-voice-feedback.cw-reaction-sweet {color:#fff2a0;}
@keyframes cw-v7-praise-enter {
  0%{opacity:0;scale:.55;translate:0 13px;filter:brightness(1.5)}
  66%{opacity:1;scale:1.12;translate:0 -6px;filter:brightness(1.15)}
  100%{opacity:1;scale:1;translate:0 0;filter:none}
}
/* Same arcade typography for the normal-game compliment overlay. */
body.wild-match-page .wild-praise {
  white-space:nowrap;font-family:'Baloo 2',system-ui,sans-serif!important;
  font-size:clamp(22px,5.3vw,34px)!important;
  font-weight:1000;color:#fff6ff;
  -webkit-text-stroke:2.8px #78207a;paint-order:stroke fill;
  text-shadow:0 3px 0 #9e3da7,0 5px 2px #3b0a58,0 0 7px #ffeaff;
}
@media(max-width:410px){body.wild-tutorial-page .wild-board-wrap .cw-voice-feedback{font-size:clamp(21px,6.4vw,29px);-webkit-text-stroke:2.4px}}
@media(prefers-reduced-motion:reduce){body.wild-tutorial-page .cw-voice-feedback.is-visible{animation:none;opacity:1}}

/* V12: the praise is one overlay in the board, not a stack of unrelated labels. */
body.wild-tutorial-page .wild-board-wrap .cw-voice-feedback,
body.wild-match-page .wild-board-wrap .wild-praise{
  pointer-events:none;max-width:100%;white-space:nowrap;
  will-change:opacity,transform;
}
body.wild-tutorial-page .cw-voice-feedback.is-visible{
  animation:cw-v12-praise .96s cubic-bezier(.19,.67,.32,1) both;
}
@keyframes cw-v12-praise {
  0% {opacity:0;scale:.73;translate:0 14px}
  22% {opacity:1;scale:1.05;translate:0 -5px}
  66% {opacity:1;scale:1;translate:0 -12px}
  100% {opacity:0;scale:.99;translate:0 -23px}
}
body.wild-match-page .wild-board-wrap .wild-praise.show{
  animation:wild-praise 1s ease-out both;
}
