/* ===== ぜんぶの画面：ポップな動き（js/juice.js） ===== */
.wk-pop { transition: transform .35s cubic-bezier(.3, 1.7, .5, 1), box-shadow .25s, filter .25s; will-change: transform; }
.wk-pop.is-hover { transform: translateY(-5px) scale(1.025); filter: brightness(1.03); }
.wk-pop.is-press { transform: translateY(2px) scale(.97); transition-duration: .08s; }
.wk-btn { transition: transform .3s cubic-bezier(.3, 1.8, .5, 1), filter .2s; }
.wk-btn.is-hover { transform: translateY(-2px) scale(1.04); filter: brightness(1.06) saturate(1.1); }
.wk-btn.is-press { transform: translateY(2px) scale(.94); transition-duration: .06s; }
.wk-char { transform-origin: 50% 100%; animation: wk-breathe 3.2s ease-in-out infinite; animation-delay: var(--wk-d, 0s); cursor: pointer; }
.wk-char.is-hop { animation: wk-hop .7s cubic-bezier(.3, 1.4, .5, 1), wk-breathe 3.2s ease-in-out .7s infinite; }
.wk-char.is-look { animation: wk-look 1.1s ease-in-out, wk-breathe 3.2s ease-in-out 1.1s infinite; }
@keyframes wk-breathe { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(1.025, .975); } }
@keyframes wk-hop { 0% { transform: scale(1); } 25% { transform: scale(1.08, .88); } 50% { transform: translateY(-18px) scale(.95, 1.06); } 75% { transform: translateY(0) scale(1.06, .92); } 100% { transform: scale(1); } }
@keyframes wk-look { 30% { transform: rotate(-6deg); } 60% { transform: rotate(5deg); } }
.wk-spark { position: fixed; z-index: 120; pointer-events: none; font-size: 18px; color: #ffc21a; text-shadow: 0 0 6px rgba(255, 200, 40, .8); }
.wk-in { opacity: 0; transform: translateY(18px) scale(.97); }
.wk-in.is-in { opacity: 1; transform: none; transition: opacity .5s ease, transform .6s cubic-bezier(.3, 1.4, .5, 1); transition-delay: var(--wk-in-d, 0s); }
@media (prefers-reduced-motion: reduce) { .wk-char, .wk-pop, .wk-btn { animation: none !important; transition: none !important; } .wk-in { opacity: 1; transform: none; } }
