.duck-card{overflow:hidden}.duck-stage{position:relative;min-height:320px;border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#d9f0ee 0%,#b4e0db 66%,#85bd8e 67%,#badc98 100%)}.duck-stage video{z-index:0;inset:0}.duck-stage .scene-sky{position:absolute;top:18px;left:22px;border-radius:50%;width:42px;height:42px;background:#fff9c7;box-shadow:0 0 40px #fff9c7}.duck-shadow{position:absolute;left:34%;bottom:26px;width:34%;height:18px;background:#335c4340;filter:blur(7px);border-radius:50%}.duck-figure{position:relative;display:block;width:min(280px,80%);height:300px;margin:5px auto 0;animation:duck-enter 1.8s ease-out both}.duck-figure svg{width:100%;height:100%;overflow:visible}.duck-body{animation:duck-bob 2.3s ease-in-out infinite;transform-origin:50% 80%}.wing{transform-origin:50% 50%;transform-box:fill-box;animation:duck-wing 1.4s ease-in-out infinite}.foot1,.foot2{transform-box:fill-box;transform-origin:50% 0;animation:duck-step 1s ease-in-out infinite alternate}.foot2{animation-delay:-1s}.beaklower{transform-box:fill-box;transform-origin:15% 20%}.duck-stage.speaking .beaklower{animation:duck-talk .18s ease-in-out infinite alternate}.duck-stage.speaking .wing{animation-duration:.55s}.duck-bubble{background:#f0f7e4;color:#234633;padding:14px;border-radius:14px;line-height:1.5}.duck-hint{font-size:14px;color:#5c7061}.duck-actions{display:flex;gap:8px;flex-wrap:wrap}.duck-actions button{flex:1;min-width:140px}.duck-badge{display:inline-block;padding:6px 10px;border-radius:50px;background:#e8f4c9;color:#34592e;font-size:12px;font-weight:800}@keyframes duck-enter{0%{transform:translateX(-70px) scale(.65);opacity:0}75%{transform:translateX(10px) scale(1.05)}100%{transform:translateX(0) scale(1);opacity:1}}@keyframes duck-bob{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes duck-wing{50%{transform:rotate(-25deg)}}@keyframes duck-step{to{transform:rotate(12deg)}}@keyframes duck-talk{to{transform:rotate(24deg)}}@media(prefers-reduced-motion:reduce){.duck-figure,.duck-body,.wing,.foot1,.foot2,.duck-stage.speaking .beaklower{animation:none}}
