﻿.ripple {
    pointer-events: none;
    position: absolute;
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 255, 0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    animation: ripple-animation 0.6s ease-out;
    pointer-events: none;
}

@keyframes ripple-animation {
    to {
        transform: translate(-50%, -50%) scale(5);
        opacity: 0;
    }
}

.trail-effect {
    position: absolute;
    background: rgba(0, 255, 255, 0.3);
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.5);
    animation: fadeOut 2s ease-out forwards;
    pointer-events: none;
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0;
        transform: scale(1.2);
    }
}

/*toDraggable
*/
 .plus{
    filter: invert(100%);
    box-shadow: 0 0 0 3px currentColor inset;
    animation: pulse 1.2s infinite;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.03);
    }
}

/* 仮選択：うすぼんやり光る Aqua */
.tempselected {
    z-index: 100;
    filter: brightness(1.08);
    outline: 2px solid rgba(0, 255, 255, 0.4);
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
}

/* 確定選択：くっきり強調された Aqua */
.selected {
    z-index:100;
    filter: brightness(1.25);
    outline: 2px solid rgba(0, 255, 255, 0.9);
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.7), 0 0 30px rgba(0, 255, 255, 0.5); /* 二重グローで存在感アップ */
    border-radius: 4px; /* 少し角丸にすると柔らかい印象 */
}


/* スムーズな切り替え */
.wrapper {
    transition: filter 0.2s ease, outline 0.2s ease, box-shadow 0.2s ease;
}

.hovering {
    box-shadow: 0 0 6px rgba(0, 120, 255, 0.4); /* 青系の柔らかい照準光 */
    filter: brightness(1.1) contrast(1.05); /* 少し明るく、くっきり */
    /*transform: scale(1.02);*/ /* サイズで存在感アップ（座標ズレなし） */
    animation: hoverPulse 1.5s ease-in-out infinite;
}

@keyframes hoverPulse {
    0%, 100% {
        filter: brightness(1.1);
    }

    50% {
        filter: brightness(1.3);
    }
}

.confirmed {
    border: 3px ridge rgba(255, 60, 60, 0.9);
    border-radius: 6px;
    box-shadow: inset 0 0 10px rgba(255, 60, 60, 0.7);
}

.floating {
    opacity: 0.6;
    filter: brightness(1.1) blur(0.5px) grayscale(30%);
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.3);
    animation: ghostFade 1.8s ease-in-out infinite;
}

@keyframes ghostFade {
    0%, 100% {
        opacity: 0.85;
    }

    50% {
        opacity: 0.65;
    }
}

.section-wrapper {
    position: relative;
    opacity: 0;
    animation: blurFadeIn 1.0s ease-out 0.5s forwards;
}

@keyframes blurFadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.water-curtain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to right, rgba(173, 216, 230, 0.0) 0%, rgba(173, 216, 230, 0.7) 50%, rgba(173, 216, 230, 0.0) 100%);
    backdrop-filter: blur(5px);
    animation: curtainFlow 1.0s ease-in-out 1;
    z-index: 10;
    opacity: 0;
}

@keyframes curtainFlow {
    0% {
        transform: translateX(-200px);
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    100% {
        transform: translateX(200px);
        opacity: 0;
    }
}

