.exam-wrapper{
    max-width:920px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:22px;
}

.exam-header{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.progress-text{
    font-size:18px;
    font-weight:700;
    color:#172033;
}

.timer-container{
    width:100%;
    height:14px;
    background:#dfe6f3;
    border-radius:999px;
    overflow:hidden;
    box-shadow:inset 0 1px 2px rgba(0,0,0,0.08);
}

.timer-bar{
    width:100%;
    height:100%;
    background:#2ecc71;
    transition:width 1s linear, background 0.25s ease;
    border-radius:999px;
}

.question-card{
    display:grid;
    grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
    gap:24px;
    background:#ffffff;
    border:1px solid #d9dfeb;
    border-radius:18px;
    padding:24px;
    box-shadow:0 12px 24px rgba(0,0,0,0.05);
}

.question-media{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.question-image{
    width:100%;
    min-height:260px;
    max-height:420px;
    object-fit:cover;
    border-radius:16px;
    border:1px solid #d8e0ee;
    background:#e9eef7;
}

.question-content{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.question-text{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.45;
    color:#172033;
}

.multi-info{
    margin:0 0 18px;
    color:#5f6b85;
    font-size:14px;
    line-height:1.6;
}

.audio-controls{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 18px;
    padding:12px 14px;
    border-radius:12px;
    background:#f4f7ff;
    border:1px solid #d8e0ff;
    width:fit-content;
    max-width:100%;
}

#audioControls button{
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:#5865F2;
    color:#ffffff;
    font-size:18px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

#audioControls button:hover{
    background:#4752c4;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(88,101,242,0.22);
}

#audioControls input[type="range"]{
    appearance:none;
    -webkit-appearance:none;
    width:180px;
    max-width:100%;
    height:6px;
    background:#cfd8ff;
    border-radius:999px;
    outline:none;
}

#audioControls input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#5865F2;
    cursor:pointer;
    border:none;
}

#audioControls input[type="range"]::-moz-range-thumb{
    width:16px;
    height:16px;
    border-radius:50%;
    background:#5865F2;
    cursor:pointer;
    border:none;
}

.choices{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.choices button{
    width:100%;
    padding:16px 18px;
    border-radius:12px;
    border:1px solid #d6deec;
    background:#f8faff;
    cursor:pointer;
    text-align:left;
    font-size:15px;
    font-weight:600;
    color:#172033;
    line-height:1.5;
    transition:transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.choices button:hover{
    background:#eef3ff;
    border-color:#4c6ef5;
    transform:translateY(-1px);
}

.choices button.selected{
    background:#dfe8ff;
    border-color:#4c6ef5;
    box-shadow:0 8px 16px rgba(76,110,245,0.14);
}

.exam-footer{
    display:flex;
    justify-content:flex-end;
}

.validate-btn{
    min-width:220px;
    border:none;
    border-radius:12px;
    background:linear-gradient(90deg,#4c6ef5,#5f79ff);
    color:#ffffff;
    padding:16px 22px;
    font-size:16px;
    font-weight:800;
    letter-spacing:0.3px;
    cursor:pointer;
    transition:transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.validate-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(76,110,245,0.25);
    filter:brightness(1.03);
}

.validate-btn:active{
    transform:translateY(0);
}

@media (max-width:860px){
    .question-card{
        grid-template-columns:1fr;
    }

    .question-image{
        min-height:220px;
        max-height:360px;
    }

    .question-text{
        font-size:24px;
    }
}

@media (max-width:640px){
    .exam-wrapper{
        gap:18px;
    }

    .progress-text{
        font-size:16px;
    }

    .question-card{
        padding:18px;
        gap:18px;
    }

    .question-text{
        font-size:21px;
    }

    .audio-controls{
        width:100%;
        justify-content:space-between;
    }

    #audioControls input[type="range"]{
        width:100%;
    }

    .choices button{
        padding:14px 15px;
        font-size:14px;
    }

    .exam-footer{
        justify-content:stretch;
    }

    .validate-btn{
        width:100%;
        min-width:0;
    }
}