﻿.nav-btn:active {
    transform: translateY(3px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.15);
}

.btn-nav-begin {
    background-color: #8b5cf6;
    box-shadow: 0 4px 0 #6d28d9;
}

    .btn-nav-begin:hover {
        background-color: #7c3aed;
    }

.btn-nav-reset {
    background-color: #0284c7;
    box-shadow: 0 4px 0 #0369a1;
}

    .btn-nav-reset:hover {
        background-color: #0369a1;
    }

.btn-nav-check {
    background-color: #38a169;
    box-shadow: 0 4px 0 #22543d;
}

    .btn-nav-check:hover {
        background-color: #2f855a;
    }

.action-btn-container {
    width: 100%;
    position: relative;
}

.morph-btn {
    width: 100%;
    padding: 5px 24px;
    font-size: 1.4rem;
    font-weight: 700;
    color: white;
    border: none;
    cursor: pointer;
    border-radius: 20px;
    font-family: 'Comic Neue', cursive;
    position: relative;
    outline: none;
    z-index: 2;
    transition: transform 0.1s ease, box-shadow 0.1s ease, background-color 0.3s ease;
}

    .morph-btn.btn-purple {
        background-color: #8b5cf6;
        box-shadow: 0 2px 0 #6d28d9;
    }

        .morph-btn.btn-purple:hover {
            background-color: #7c3aed;
        }

    .morph-btn.btn-cyan {
        background-color: #0284c7;
        box-shadow: 0 2px 0 #0369a1;
    }

        .morph-btn.btn-cyan:hover {
            background-color: #0369a1;
        }

    .morph-btn.btn-green {
        background-color: #38a169;
        box-shadow: 0 2px 0 #22543d;
    }

        .morph-btn.btn-green:hover {
            background-color: #2f855a;
        }

    .morph-btn.btn-red {
        background-color: #ef4444;
        box-shadow: 0 2px 0 #b91c1c;
    }

        .morph-btn.btn-red:hover {
            background-color: #dc2626;
        }

    .morph-btn.pressed {
        transform: translateY(4px);
        box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2) !important;
    }

.btn-text-wrapper {
    display: inline-block;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.morph-btn.fade-out .btn-text-wrapper {
    opacity: 0;
    transform: translateY(-5px);
}

.sparkle {
    position: absolute;
    pointer-events: none;
    font-size: 1.4rem;
    animation: sparkleFly 0.8s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
    z-index: 10;
}

@keyframes sparkleFly {
    0% {
        transform: translate(0, 0) scale(0.3) rotate(0deg);
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translate(var(--tx), var(--ty)) scale(1.5) rotate(180deg);
        opacity: 0;
    }
}

.feedback-text {
    font-weight: bold;
    font-size: 18px;
}

.morph-btn:disabled,
.morph-btn[disabled] {
    background-color: #cbd5e1 !important;
    box-shadow: 0 2px 0 #94a3b8 !important;
    color: #64748b !important;
    cursor: not-allowed !important;
    transform: none !important;
    opacity: 0.8;
}