/* ==========================================================
   NEET Biology CBT
   Version : 1.0
   ========================================================== */

/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:Arial,Helvetica,sans-serif;
    background:#f4f6f9;
    color:#222;
    line-height:1.6;
}

/* ==========================
   LINKS
========================== */

a{

    color:#0d6efd;
    text-decoration:none;

}

a:hover{

    text-decoration:underline;

}

/* ==========================
   CONTAINER
========================== */

.container{

    width:95%;
    max-width:1300px;
    margin:30px auto;

}

/* ==========================
   HEADER
========================== */

.page-header{

    background:#ffffff;
    padding:20px;
    border-radius:10px;
    margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);

}

.page-title{

    font-size:28px;
    font-weight:bold;
    color:#17834b;

}

.page-subtitle{

    color:#666;
    margin-top:5px;

}

/* ==========================
   CARD
========================== */

.card{

    background:#ffffff;
    border-radius:10px;
    padding:20px;
    margin-bottom:20px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);

}

/* ==========================
   BUTTONS
========================== */

.btn{

    display:inline-block;
    padding:12px 20px;
    border-radius:6px;
    border:none;
    cursor:pointer;
    font-size:15px;
    font-weight:bold;

}

.btn-primary{

    background:#17834b;
    color:#fff;

}

.btn-primary:hover{

    background:#0f6a3b;

}

.btn-secondary{

    background:#0d6efd;
    color:#fff;

}

.btn-danger{

    background:#dc3545;
    color:#fff;

}

.btn-warning{

    background:#ffc107;
    color:#000;

}

/* ==========================
   TABLE
========================== */

.table{

    width:100%;
    border-collapse:collapse;

}

.table th{

    background:#17834b;
    color:#fff;
    padding:12px;

}

.table td{

    padding:12px;
    border-bottom:1px solid #ddd;

}

/* ==========================
   FORM
========================== */

.form-group{

    margin-bottom:18px;

}

.form-label{

    display:block;
    margin-bottom:8px;
    font-weight:bold;

}

.form-control{

    width:100%;
    padding:12px;
    border:1px solid #ccc;
    border-radius:6px;
    font-size:15px;

}

.form-control:focus{

    border-color:#17834b;
    outline:none;

}

/* ==========================
   ALERTS
========================== */

.alert{

    padding:15px;
    border-radius:6px;
    margin-bottom:20px;

}

.alert-success{

    background:#d1f5df;
    color:#146c43;

}

.alert-danger{

    background:#ffe3e6;
    color:#b42318;

}

.alert-warning{

    background:#fff4cc;
    color:#7a5a00;

}

/* ==========================
   BADGES
========================== */

.badge{

    display:inline-block;
    padding:5px 10px;
    border-radius:20px;
    font-size:13px;
    font-weight:bold;

}

.badge-free{

    background:#198754;
    color:#fff;

}

.badge-premium{

    background:#ffc107;
    color:#000;

}

/* ==========================
   TIMER
========================== */

.timer{

    background:#dc3545;
    color:#fff;
    padding:10px 18px;
    border-radius:6px;
    font-size:22px;
    font-weight:bold;
    display:inline-block;

}

/* ==========================
   QUESTION PALETTE
========================== */

.palette{

    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(45px,1fr));
    gap:10px;

}

.palette button{

    height:45px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-weight:bold;

}

.palette .answered{

    background:#198754;
    color:#fff;

}

.palette .review{

    background:#ffc107;
    color:#000;

}

.palette .current{

    background:#0d6efd;
    color:#fff;

}

.palette .unanswered{

    background:#dee2e6;

}

/* ==========================
   QUESTION
========================== */

.question{

    font-size:20px;
    margin-bottom:20px;

}

.option{

    border:1px solid #ddd;
    border-radius:8px;
    padding:14px;
    margin-bottom:12px;
    cursor:pointer;
    transition:.2s;

}

.option:hover{

    background:#f0f8ff;

}

/* ==========================
   RESULT BOX
========================== */

.result-box{

    text-align:center;

}

.result-score{

    font-size:42px;
    color:#17834b;
    font-weight:bold;

}

/* ==========================
   FOOTER
========================== */

.footer{

    text-align:center;
    padding:20px;
    color:#777;
    font-size:14px;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:768px){

.page-title{

    font-size:22px;

}

.timer{

    font-size:18px;

}

.btn{

    width:100%;
    margin-bottom:10px;

}

}
/* ==========================================================
   CBT Exam Engine v2
   ========================================================== */
.btn-light{background:#eef1f5;color:#222}.btn-review{background:#7c3aed;color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}
.exam-body{background:#eef2f5}.exam-shell{width:96%;max-width:1500px;margin:18px auto}.exam-header{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.08);margin-bottom:16px}.exam-header h1{font-size:22px;color:#176b43}.exam-subtitle{color:#666}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.exam-main{min-height:560px;display:flex;flex-direction:column}.exam-sidebar{align-self:start;position:sticky;top:15px}.question-loader{padding:40px;text-align:center;color:#666}.question-row{display:flex;gap:14px;align-items:flex-start}.question-number{background:#176b43;color:#fff;font-weight:700;padding:7px 10px;border-radius:6px;white-space:nowrap}.question-text{font-size:19px;font-weight:600;line-height:1.65}.options-list{margin-top:22px;display:grid;gap:12px}.exam-option{display:flex;align-items:flex-start;gap:12px;border:1px solid #d7dde3;border-radius:9px;padding:14px;cursor:pointer;transition:.15s}.exam-option:hover{border-color:#17834b;background:#f4fbf7}.exam-option:has(input:checked){border-color:#17834b;background:#e9f8ef}.exam-option input{margin-top:6px}.option-letter{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf0f3;font-weight:700;flex:0 0 auto}.option-text{padding-top:2px}.exam-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:28px;border-top:1px solid #eee}.exam-actions .btn-primary{margin-left:auto}.palette-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;margin:12px 0 18px}.palette-legend span{display:flex;align-items:center;gap:7px}.legend-box{width:17px;height:17px;border-radius:4px;display:inline-block}.legend-box.answered,.palette-btn.answered{background:#198754;color:#fff}.legend-box.current,.palette-btn.current{outline:3px solid #0d6efd;outline-offset:2px}.legend-box.review,.palette-btn.review{background:#7c3aed;color:#fff}.legend-box.unanswered,.palette-btn.unanswered{background:#e4e7eb;color:#222}.palette-btn{border:0}.exam-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.exam-summary div{text-align:center;background:#f5f7f9;padding:9px 4px;border-radius:7px}.exam-summary strong{display:block;font-size:20px}.exam-summary span{font-size:11px;color:#666}.submit-full{width:100%}.exam-message{padding:12px 14px;border-radius:7px;margin-bottom:15px}.exam-message.error{background:#fee2e2;color:#991b1b}.exam-message.warning{background:#fff3cd;color:#6b5200}.timer-warning{animation:timerPulse 1s infinite}@keyframes timerPulse{50%{opacity:.65}}
.result-header{display:flex;align-items:center;justify-content:space-between}.result-score{font-size:36px;font-weight:800;color:#17834b;text-align:center}.result-score small{display:block;font-size:12px;color:#666}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.result-card{background:#fff;border-radius:10px;padding:22px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.08);border-top:5px solid}.result-card strong{display:block;font-size:30px}.result-card span{color:#666}.result-card.success{border-color:#198754}.result-card.danger{border-color:#dc3545}.result-card.neutral{border-color:#6c757d}.result-card.info{border-color:#0d6efd}.result-actions{text-align:center;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.review-card{border-left:6px solid #adb5bd}.review-card.correct-review{border-left-color:#198754}.review-card.wrong-review{border-left-color:#dc3545}.review-question{font-size:18px;line-height:1.6;margin-bottom:14px}.review-options{display:grid;gap:9px}.review-option{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #ddd;border-radius:7px}.review-option>span{font-weight:700}.review-option b,.review-option em{margin-left:auto;font-size:12px}.correct-option{background:#e7f7ed;border-color:#198754}.wrong-option{background:#fdebed;border-color:#dc3545}.review-note{margin-top:12px;color:#856404}
@media(max-width:900px){.exam-layout{grid-template-columns:1fr}.exam-sidebar{position:static}.exam-main{min-height:auto}.result-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.exam-shell,.container{width:96%;margin:10px auto}.exam-header{align-items:flex-start}.exam-header h1{font-size:18px}.timer{font-size:17px;padding:8px}.question-text{font-size:17px}.exam-actions .btn{flex:1 1 46%;padding:11px 8px}.exam-actions .btn-primary{margin-left:0}.palette{grid-template-columns:repeat(6,1fr)}.result-grid{grid-template-columns:1fr 1fr}.result-header{align-items:flex-start}.table th,.table td{padding:9px;font-size:14px}}
