.buddy{z-index:30;pointer-events:none;width:108px;position:absolute;bottom:8px;left:22px}.buddy .yy-fig{width:100%}.buddy-say{background:var(--paper);border:1.5px solid var(--hair);box-shadow:var(--shadow-card);font-family:var(--font);color:var(--sea-deep);white-space:nowrap;animation:pop-in .35s var(--ease-spring) both;transform-origin:0 100%;border-radius:22px 22px 22px 4px;padding:10px 20px;font-size:26px;font-weight:700;position:absolute;bottom:120px;left:92px}.buddy.wrong .buddy-say{color:var(--ink-2)}.burst{z-index:40;pointer-events:none;width:0;height:0;position:absolute}.burst span{border-radius:2px;width:14px;height:10px;animation:1.1s cubic-bezier(.15,.7,.3,1) forwards burst;position:absolute;top:-5px;left:-7px}.burst span.round{border-radius:50%;width:11px;height:11px}@keyframes burst{0%{transform:translate(0, 0) rotate(0) scale(var(--s));opacity:1}70%{opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 90px)) rotate(var(--r)) scale(var(--s));opacity:0}}.thumb{z-index:42;pointer-events:none;width:150px;height:150px;animation:thumb 1.1s var(--ease-spring) forwards;filter:drop-shadow(0 10px 14px #4e2e1c47);margin:-75px 0 0 -75px;position:absolute}.thumb svg{width:100%;height:100%}@keyframes thumb{0%{opacity:0;transform:scale(.2)rotate(-25deg)}22%{opacity:1;transform:scale(1.12)rotate(6deg)}34%{transform:scale(.96)rotate(-2deg)}44%{transform:scale(1)rotate(0)}78%{opacity:1;transform:translateY(-10px)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.9)}}.streak-chip{z-index:31;color:#6b3a12;font-family:var(--font);pointer-events:none;animation:pop-in .4s var(--ease-spring) both;background:linear-gradient(#ffd36b,#f4a93b);border-radius:999px;padding:4px 14px;font-size:22px;font-weight:700;position:absolute;bottom:214px;left:30px;box-shadow:0 0 0 3px #fffdf6,0 8px 14px -8px #6b3a1299}.streak-chip b{margin-right:2px;font-size:28px}.streak-banner{z-index:45;pointer-events:none;min-width:460px;animation:banner 2.6s var(--ease-out) forwards;background:linear-gradient(#fff8e6,#ffefc9);border-radius:28px;justify-items:center;gap:2px;padding:18px 56px 20px;display:grid;position:absolute;top:118px;left:50%;box-shadow:0 0 0 4px #f4b547,0 0 0 9px #fffdf6,0 24px 40px -18px #6b3a128c}.streak-banner b{font-family:var(--font);letter-spacing:.08em;color:var(--terracotta);text-shadow:0 3px #fffdf6,0 6px #ec852640;font-size:64px;line-height:1.05}.streak-banner span{font-family:var(--font);color:var(--sea-deep);letter-spacing:.06em;font-size:28px;font-weight:700}.streak-stars{width:300px;margin-left:-150px;animation:1.2s ease-in-out infinite alternate twinkle;position:absolute;top:-34px;left:50%}@keyframes banner{0%{opacity:0;transform:translate(-50%,-40px)scale(.6)}14%{opacity:1;transform:translate(-50%)scale(1.06)}22%{transform:translate(-50%)scale(1)}82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-30px)scale(.94)}}@keyframes twinkle{0%{opacity:.8;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.thumb,.streak-banner{animation-duration:10ms;animation-fill-mode:none}}
