/* 🔷 LEVEL SELECT CONTAINER */
.level-settings-container {
    position: absolute;
    inset: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100vh; /* ✅ important */
    overflow-y: auto;
    background-color: #09103f;
    background-image: url("/client/assets/images/bg/home_bg_portrait.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media (orientation: landscape) {
    .level-settings-container {
        background-image: url("/client/assets/bg/images/home_bg_landscape.jpg");
    }
}

/* 🔷 TOPBAR */
.level-settings-topbar {
    font-family: "Sora", sans-serif;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: #0a2a43;
    color: white;
}

.level-back-btn {
    font-family: "Sora", sans-serif;
    background: #123d5c;
    border: none;
    color: white;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.2s ease;
}

.level-back-btn:hover,
.level-fs-btn:hover {
    background: #06325b;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

/* 🔷 TITLE */
.level-title {
    font-family: "Sora", sans-serif;

    flex: 1;
    text-align: center;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* 🔷 LEVEL BUTTONS CONTAINER */
.level-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: center;
    width: 100%;
}

/* 🔷 ROWS FOR PYRAMID ALIGNMENT */
.level-row {
    display: flex;
    justify-content: center;
    width: 100%;
    transition: transform 0.3s ease;
}

.level-row.row-1 {
    margin-top: 30px;
    justify-content: center;
} /* narrowest top */
.level-row.row-2 {
    justify-content: center;
}
.level-row.row-3 {
    justify-content: center;
}
.level-row.row-4 {
    justify-content: center;
} /* widest bottom */

/* 🔷 LEVEL BUTTONS - CARD STYLE */
.level-btn {
    font-family: "Inter", sans-serif;
    padding: 18px 20px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, #0a2a43, #123d5c);
    color: white;
    cursor: pointer;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

/* 🔷 LEVEL BUTTONS - CARD STYLE WITH DIFFICULTY COLORS */
.level-row.row-1 .level-btn {
    width: 25%; /* University */
    background: linear-gradient(
        135deg,
        #800000,
        #a52a2a
    ); /* reddish = hardest */
}

.level-row.row-2 .level-btn {
    width: 35%; /* Senior Secondary */
    background: linear-gradient(
        135deg,
        #d2691e,
        #ff7f50
    ); /* deep orange gradient */
}

.level-row.row-3 .level-btn {
    width: 50%; /* Junior Secondary */
    background: linear-gradient(135deg, #28a745, #56d68a); /* greenish */
}

.level-row.row-4 .level-btn {
    width: 60%; /* Primary */
    background: linear-gradient(
        135deg,
        #0a2a43,
        #123d5c
    ); /* retain app's blue theme */
}

/* Hover effects: maintain a subtle darker shade for all levels */
.level-btn:hover {
    transform: translateY(-6px) scale(1.03);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

/* Custom hover gradient per level (optional, keeps thematic consistency) */
.level-row.row-1 .level-btn:hover {
    background: linear-gradient(135deg, #8b0000, #c03030);
}
.level-row.row-2 .level-btn:hover {
    background: linear-gradient(135deg, #e69500, #ffbb33);
}
.level-row.row-3 .level-btn:hover {
    background: linear-gradient(135deg, #1e7e34, #3fc37a);
}
.level-row.row-4 .level-btn:hover {
    background: linear-gradient(135deg, #06325b, #0d3b5f);
}

/* 🔷 Fade in animation for entire scene */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 🔷 Responsive tweaks */
@media (max-width: 500px) {
    .level-btn {
        font-size: 16px;
        padding: 14px;
    }
    .level-row.row-1 .level-btn {
        width: 30%; /* University */
    }

    .level-row.row-2 .level-btn {
        width: 50%; /* Senior Secondary */
    }

    .level-row.row-3 .level-btn {
        width: 76%; /* Junior Secondary */
    }

    .level-row.row-4 .level-btn {
        width: 96%; /* Primary */
    }
}

/**/
/* 🔥 Pyramid stacking animation */
.level-row {
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    animation: pyramidStack 0.6s ease forwards;
}

/* Stagger delay (top → bottom) */
.level-row.row-1 {
    margin-top: 30px;
    animation-delay: 0.1s;
}
.level-row.row-2 {
    animation-delay: 0.25s;
}
.level-row.row-3 {
    animation-delay: 0.4s;
}
.level-row.row-4 {
    animation-delay: 0.55s;
}
.level-row.row-5 {
    animation-delay: 0.7s;
} /* if using postgrad */
@keyframes pyramidStack {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
    }
    60% {
        opacity: 1;
        transform: translateY(-5px) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
.level-btn {
    transform-origin: center;
}
.level-row {
    will-change: transform, opacity;
}
.level-row.row-4 .level-btn {
    animation: finalThud 0.3s ease;
    animation-delay: 0.65s;
}

@keyframes finalThud {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}
