.glass-card {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.popup-overlay {
    background: rgba(224, 242, 254, 0.3);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

.popup-card {
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.bouncy-btn {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* 🌟ボタンの変形（文字の折り返し・潰れ）を防ぐ設定のみ追加 */
    flex-shrink: 0;
    white-space: nowrap;
}
.bouncy-btn:hover {
    transform: scale(1.02) translateY(-3px);
    box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.08);
}
.bouncy-btn:active {
    transform: scale(0.98) translateY(0);
}

.pop-up-animation {
    animation: popUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes popUp {
    from { opacity: 0; transform: scale(0.8) translateY(30px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.circle-progress {
    animation: progress 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.draggable-item { cursor: grab; }
.draggable-item:active { cursor: grabbing; }
.draggable-item.dragging {
    opacity: 0.5;
    background: rgba(255, 255, 255, 0.6);
}