*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',sans-serif;
}

body{
background:#f4f6f9;
color:#222;
}


#reviewContainer{
margin-top:20px;
max-height:500px;
overflow-y:auto;
text-align:left;
}

.review-card{
background:#ffffff;
padding:15px;
margin-bottom:20px;
border-radius:10px;
border:1px solid #ddd;
}

.review-card h3{
font-size:18px;
margin-bottom:10px;
}

.correct-option{
background:#d4edda;
color:#155724;
padding:10px;
margin:5px 0;
border-radius:6px;
}

.wrong-option{
background:#f8d7da;
color:#721c24;
padding:10px;
margin:5px 0;
border-radius:6px;
}

.explanation-box{
background:#fff3cd;
padding:12px;
margin-top:10px;
border-left:5px solid #ffc107;
border-radius:5px;
}

.correct-option span,
.wrong-option span{
float:right;
font-weight:bold;
}



/* HEADER */

.exam-header{
background:#0b5ed7;
color:#fff;
padding:15px 25px;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
box-shadow:0 2px 10px rgba(0,0,0,.1);
}

.logo-area h1{
font-size:24px;
margin-bottom:5px;
}

.logo-area p{
font-size:14px;
opacity:.9;
}

.timer-box{
font-size:22px;
font-weight:bold;
background:#fff;
color:#0b5ed7;
padding:10px 20px;
border-radius:8px;
}

/* MAIN LAYOUT */

.exam-container{
display:flex;
padding:20px;
gap:20px;
}

/* LEFT SIDE */

.question-panel{
flex:3;
background:#fff;
padding:25px;
border-radius:12px;
box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* RIGHT SIDE */

.palette-panel{
flex:1;
background:#fff;
padding:20px;
border-radius:12px;
box-shadow:0 2px 8px rgba(0,0,0,.08);
height:fit-content;
}

/* QUESTION TOP */

.question-top{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}

#questionNumber{
font-size:18px;
font-weight:600;
}

/* PROGRESS BAR */

.progress-wrapper{
width:250px;
height:12px;
background:#ddd;
border-radius:20px;
overflow:hidden;
}

#progressBar{
width:0%;
height:100%;
background:#28a745;
transition:.3s;
}

/* QUESTION */

.question-box{
margin-bottom:20px;
}

.question-box h2{
font-size:22px;
line-height:1.5;
}

/* OPTIONS */

.option{
display:block;
padding:15px;
margin-bottom:12px;
border:2px solid #ddd;
border-radius:10px;
cursor:pointer;
transition:.3s;
background:#fff;
}

.option:hover

.option input{
margin-right:10px;
}

/* BUTTONS */

.action-buttons{
margin-top:25px;
display:flex;
gap:10px;
flex-wrap:wrap;
}

.action-buttons button{
padding:12px 18px;
border:none;
cursor:pointer;
border-radius:8px;
font-size:15px;
font-weight:600;
}

.action-buttons button:nth-child(1){
background:#6c757d;
color:#fff;
}

.action-buttons button:nth-child(2){
background:#ffc107;
color:#000;
}

.action-buttons button:nth-child(3){
background:#198754;
color:#fff;
}

/* PALETTE */

#paletteContainer{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:8px;
margin-top:15px;
margin-bottom:20px;
}

.palette-btn{
height:45px;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:bold;
}

/* STATUS COLORS */

.current-question{
background:#0d6efd;
color:#fff;
}

.answered-question{
background:#198754;
color:#fff;
}

.review-question{
background:#ffc107;
color:#000;
}

.notvisited-question{
background:#e9ecef;
color:#000;
}

/* LEGEND */

.legend{
margin-top:20px;
font-size:14px;
}

.legend div{
display:flex;
align-items:center;
margin-bottom:8px;
}

.status{
width:18px;
height:18px;
display:inline-block;
margin-right:10px;
border-radius:4px;
}

.current{
background:#0d6efd;
}

.answered{
background:#198754;
}

.review{
background:#ffc107;
}

.notvisited{
background:#e9ecef;
border:1px solid #ccc;
}

/* SUBMIT */

.submit-btn{
width:100%;
padding:14px;
background:#dc3545;
color:#fff;
border:none;
border-radius:10px;
font-size:16px;
font-weight:bold;
cursor:pointer;
margin-top:20px;
}

/* RESULT MODAL */

.result-modal{
display:none;
position:fixed;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,.7);
justify-content:center;
align-items:center;
z-index:999;
}

.result-content{
background:#fff;
padding:30px;
width:90%;
max-width:500px;
border-radius:15px;
text-align:center;
}

.result-content h2{
margin-bottom:20px;
}

.result-content p{
margin-bottom:12px;
font-size:18px;
}

.result-content button{
padding:12px 20px;
border:none;
background:#0d6efd;
color:#fff;
border-radius:8px;
cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

.exam-container{
flex-direction:column;
}

.question-top{
flex-direction:column;
gap:15px;
}

.progress-wrapper{
width:100%;
}

.palette-panel{
order:-1;
}

.timer-box{
margin-top:10px;
}

.logo-area h1{
font-size:20px;
}

.question-box h2{
font-size:18px;
}

.action-buttons{
flex-direction:column;
}

.action-buttons button{
width:100%;
}

#paletteContainer{
grid-template-columns:repeat(5,1fr);
}


.filter-buttons{
display:flex;
gap:10px;
margin:20px 0;
flex-wrap:wrap;
}

.filter-buttons button{
padding:10px 15px;
border:none;
border-radius:6px;
cursor:pointer;
font-weight:bold;
}



.filter-buttons{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:20px 0;
}

.filter-buttons button{
padding:10px 15px;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:bold;
color:#fff;
}

/* All Questions */

.filter-buttons button:nth-child(1){
background:#007bff;
}

/* Correct Answers */

.filter-buttons button:nth-child(2){
background:#28a745;
}

/* Wrong Answers */

.filter-buttons button:nth-child(3){
background:#dc3545;
}

/* Review Questions */

.filter-buttons button:nth-child(4){
background:#ffc107;
color:#000;
}

/* Not Attempted */

.filter-buttons button:nth-child(5){
background:#6c757d;
}

.filter-buttons button:hover{
opacity:0.9;
transform:translateY(-2px);
transition:0.3s;
}
