/* The title treatment belongs to feedback, while the puzzle stays legible. */
.puffy-type{
  --type-face:#ffe087;--type-edge:#6d3c29;--type-light:#fff6c8;
  color:var(--type-face);font-weight:950;letter-spacing:-.035em;line-height:1;
  -webkit-text-stroke:1.1px var(--type-edge);paint-order:stroke fill;
  text-shadow:0 1px 0 var(--type-light),0 2px 0 #b9784c,0 3px 0 var(--type-edge),0 4px 0 var(--type-edge),0 5px 8px #2115317a;
}
#find-praise,#deduction-praise{
  position:absolute;z-index:5;pointer-events:none;text-align:center;width:max-content;
  max-width:100%;left:0;right:0;margin:0 auto;padding:0;background:none;box-shadow:none;border:0;
}
#find-praise[data-tier]{font-size:clamp(24px,8.3cqw,42px);bottom:calc(100% + 2px);top:auto;background:none;color:var(--type-face);}
#find-praise[data-tier="0"]{--type-face:#a7f09c;--type-edge:#35643a;}
#find-praise[data-tier="1"]{--type-face:#b1deff;--type-edge:#3b5889;}
#find-praise[data-tier="2"]{--type-face:#ffb2d4;--type-edge:#88395e;}
#find-praise[data-tier="3"]{--type-face:#e1c2ff;--type-edge:#694088;}
#find-praise[data-tier="4"]{
  --type-edge:#6e456e;color:transparent;
  background:linear-gradient(100deg,#ffaecc 4%,#fff29d 31%,#8cf0cc 51%,#b8b8ff 74%,#efa6ef 94%);
  background-clip:text;-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.7px #fff6eabb;text-shadow:none;
  filter:drop-shadow(0 1px 0 #75394f) drop-shadow(0 2px 0 #5a3765) drop-shadow(0 2px 5px #fff7c9);
}
#deduction-praise{top:13%;font-size:clamp(21px,7.7cqw,38px);--type-face:#ffe49b;--type-edge:#82451d;}
#find-praise::before,#find-praise::after,#deduction-praise::after{
  content:"✦";position:absolute;top:-.18em;color:#fff2b7;font-size:.44em;
  -webkit-text-fill-color:#fff2b7;-webkit-text-stroke:0;text-shadow:0 0 8px #ffd887;
}
#find-praise::before{left:-.9em;}#find-praise::after,#deduction-praise::after{right:-.8em;}
.board-stage>.reveal-reward{
  --type-face:#ffd875;--type-edge:#704018;
  z-index:6;background:none;border:0;box-shadow:none;padding:0;font-size:clamp(17px,5.1cqw,27px);
  --reward-shift:0%;text-shadow:0 1px #fff5d4,0 2px #a5602b,0 3px #794624,0 0 7px white,0 0 12px #fff9de;
  animation:round2-points 930ms cubic-bezier(.2,.7,.35,1) both;
}
.board-stage>.reveal-reward[data-side=left]{--reward-shift:-100%;}
@keyframes round2-points{
  0%{transform:translate(var(--reward-shift),5px) scale(.62);opacity:0}
  24%{transform:translate(var(--reward-shift),0) scale(1.08);opacity:1}
  72%{opacity:1}
  100%{transform:translate(var(--reward-shift),calc(-1 * var(--reward-rise,25px))) scale(.97);opacity:0}
}
.find-clap{
  position:absolute;z-index:6;pointer-events:none;left:54%;top:6%;font-size:clamp(18px,5cqw,30px);
  animation:clap-flight .82s cubic-bezier(.2,.7,.35,1) both;filter:drop-shadow(0 0 6px #fff6b5);
}
@keyframes clap-flight{
  0%{transform:translate(-30%,10px) scale(.3) rotate(-16deg);opacity:0}
  28%{transform:translate(6%,-12px) scale(1.16) rotate(12deg);opacity:1}
  52%{opacity:1}
  100%{transform:translate(30%,-33px) scale(.8) rotate(-8deg);opacity:0}
}
#board .cell-revealing .cell-face{animation:bee-round2-pop .68s cubic-bezier(.18,.7,.3,1.1) both;}
#board .cell-revealing .cell-face img{filter:drop-shadow(0 0 4px #fff7bd) drop-shadow(0 0 7px #ffd770);}
@keyframes bee-round2-pop{
  0%{transform:scale(.44);opacity:.3}
  35%{transform:scale(1.27);opacity:1}
  62%{transform:scale(.91)}
  81%{transform:scale(1.09)}
  100%{transform:scale(1)}
}
#board-clear-layer .board-clear{
  --type-face:#fff6a1;--type-edge:#7b581d;
  left:var(--clear-x);top:var(--clear-y);font-size:clamp(15px,5.2cqw,24px);white-space:nowrap;
  background:none;border:0;box-shadow:none;padding:0;
}
#level-stat-toast{
  position:absolute;inset:50% 0 auto;transform:translateY(-50%);
  padding:10px 14px;border-radius:0;background:#221a2bd2;color:#fff9e9;
  font-size:clamp(16px,5.9cqw,28px);line-height:1.18;font-weight:780;text-align:center;z-index:8;
}
#level-stat-toast b{color:#ffed76;font-weight:950;}
#level-stat-toast strong{display:block;color:#ff9b9e;font-weight:950;margin-bottom:3px;}
#collect-counter{
  display:flex;align-items:center;justify-content:center;gap:3px;
  min-height:24px;padding:2px 7px;background:#fff8df;border-radius:16px;
}
#collect-counter img{width:20px;height:20px;object-fit:contain;}
.collect-bee{
  position:fixed;z-index:5;width:clamp(25px,7vw,44px);height:auto;pointer-events:none;
  filter:drop-shadow(0 0 6px #ffeb96) drop-shadow(-7px 9px 5px #ffe78d98) drop-shadow(-13px 15px 7px #fff4d766);
}
#game{isolation:isolate;}
#rank-screen{
  background:#221b2bd5;backdrop-filter:blur(1.6px);
  animation:round2-rank-in 460ms cubic-bezier(.15,.6,.25,1) both;
}
@keyframes round2-rank-in{from{transform:translateY(9vh);opacity:0}to{transform:none;opacity:1}}
.rank-content{gap:11px;}
#rank-title{
  --type-face:#ffe09a;--type-edge:#6f4331;
  color:var(--type-face);font-size:clamp(33px,9.1vw,53px);
  text-shadow:0 1px 0 #fff5d6,0 2px 0 #c48954,0 3px 0 #8a522e,0 4px 0 #62402d,0 0 17px #ffdc9e72;
}
#rank-season{
  justify-self:center;background:#eed7b3;color:#523326;padding:4px 13px;border-radius:30px;
  font-size:12px;line-height:1.2;font-weight:850;
}
#rank-climb-rows li{box-shadow:0 2px 0 #392939,0 4px 9px #22131b35;}
#rank-climb-rows .your-rank{outline:2px solid #fff3ad;z-index:2;box-shadow:0 2px 12px #fce2938a;}
#rank-climb[data-stage=rise] .your-rank{z-index:3;}
#rank-close.rank-wait{visibility:hidden;}
.beedoku-avatar{border-radius:50%;object-fit:cover;display:block;width:100%;height:100%;aspect-ratio:1;}
#finish-title{
  --type-face:var(--win-accent);--type-edge:#5c354a;
  color:var(--type-face);font-size:clamp(34px,10vw,49px);line-height:1.03;
  animation:round2-tier-title .56s cubic-bezier(.2,.8,.3,1.14) both;
}
#finish .bee-stage{animation:round2-tier-art .64s .16s cubic-bezier(.2,.8,.3,1.08) both;}
#finishcopy,#finish-difficulty{animation:round2-tier-art .4s .66s ease-out both;}
@keyframes round2-tier-title{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@keyframes round2-tier-art{from{opacity:0;transform:translateY(13px) scale(.95)}to{opacity:1;transform:none}}
#tool-reward .reward-icon{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 7px #ffd2a143);}
#failure-title{
  --type-face:#cde8ff;--type-edge:#31567c;
  color:var(--type-face);font-size:clamp(34px,9.4vw,54px);
  text-shadow:0 1px #e2f4ff,0 2px #718fbd,0 3px #476e9a,0 4px #325577,0 0 15px #a1cefe85;
}
@media(prefers-reduced-motion:reduce){
  #rank-screen,#finish-title,#finish .bee-stage,#finishcopy,#finish-difficulty,.board-stage>.reveal-reward{animation:none;}
  .board-stage>.reveal-reward{transform:translateX(var(--reward-shift));}
}
#find-praise[data-tier="0"]{--type-shade:#65c15a;}
#find-praise[data-tier="1"]{--type-shade:#75b1fa;}
#find-praise[data-tier="2"]{--type-shade:#f57cb0;}
#find-praise[data-tier="3"]{--type-shade:#b480f0;}
#find-praise[data-tier]:not([data-tier="4"]){
  background:linear-gradient(180deg,#fffbe1 0%,var(--type-face) 37%,var(--type-shade) 100%);
  background-clip:text;-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.65px var(--type-edge);
  text-shadow:none;filter:drop-shadow(0 2px 0 var(--type-edge)) drop-shadow(0 0 5px var(--type-face));
}
.win-sparkle{
  position:absolute;inset:42% auto auto 50%;z-index:2;pointer-events:none;
  color:var(--win-accent);font-size:clamp(13px,4vw,25px);line-height:1;
  text-shadow:0 0 8px currentColor;
  animation:win-sparkle .88s var(--delay) cubic-bezier(.12,.56,.39,1) both;
}
@keyframes win-sparkle{
  0%{transform:translate(-50%,-50%) scale(.45);opacity:0}
  22%{opacity:1}
  100%{transform:translate(var(--x),var(--y)) scale(.25);opacity:0}
}
@media(prefers-reduced-motion:reduce){.win-sparkle{display:none;}}
