.catch-area {
    position: relative; overflow: hidden; width: 100%;
    height: min(58vh, 470px); border-radius: 18px; border: 4px solid #cdeefe;
    background: linear-gradient(180deg, #eafaff, #fff7fd); touch-action: none; cursor: pointer;
}
.catch-basket {
    position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%);
    font-size: clamp(2.6rem, 10vw, 3.6rem); pointer-events: none; z-index: 2;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .2));
}
.catch-item {
    position: absolute; top: -50px; left: 0;
    font-size: clamp(1.9rem, 7vw, 2.6rem); pointer-events: none;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .15));
}
.catch-basket.hit { animation: catch-hit .3s ease; }
@keyframes catch-hit { 0%, 100% { transform: translateX(-50%); } 25% { transform: translateX(-58%) rotate(-12deg); } 75% { transform: translateX(-42%) rotate(12deg); } }
