*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,sans-serif;background:#f1f5f9;color:#1e293b;min-height:100vh}a{color:#6366f1;text-decoration:none}a:hover{text-decoration:underline}.upload-page{min-height:100vh;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);display:flex;align-items:center;justify-content:center;padding:2rem}.card{background:#fff;border-radius:1.25rem;box-shadow:0 20px 60px #00000073;width:100%;max-width:600px;padding:2.5rem 3rem}.logo{text-align:center;margin-bottom:1.75rem}.logo h1{font-size:1.65rem;font-weight:700;color:#1a1a2e;margin-top:.5rem}.logo p{color:#6b7280;font-size:.9rem;margin-top:.25rem}.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:.75rem 1rem;border-radius:.6rem;font-size:.875rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.4rem}label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.45rem}label .req{color:#ef4444;margin-left:2px}label .opt{color:#9ca3af;font-weight:400;margin-left:4px;font-size:.8rem}input[type=url],input[type=file],select{width:100%;padding:.65rem .9rem;border:1.5px solid #d1d5db;border-radius:.6rem;font-size:.9rem;color:#111827;transition:border-color .2s;background:#fafafa}input[type=url]:focus,input[type=file]:focus,select:focus{outline:none;border-color:#6366f1;background:#fff}select:disabled{color:#9ca3af;cursor:not-allowed}.hint{font-size:.78rem;color:#9ca3af;margin-top:.35rem}.toggle-row{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;background:#f3f4f6;border-radius:.6rem}.toggle-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6366f1}.toggle-label{font-size:.875rem;color:#374151;font-weight:500}.toggle-hint{font-size:.78rem;color:#6b7280}.submit-btn{width:100%;padding:.85rem;border:none;border-radius:.75rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;margin-top:.5rem}.submit-btn:hover{opacity:.92}.submit-btn:active{transform:scale(.98)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.divider{border:none;border-top:1px solid #e5e7eb;margin:1.5rem 0}.footer-note{text-align:center;font-size:.78rem;color:#9ca3af}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f2027b3;z-index:999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.25rem}.spinner{width:56px;height:56px;border:5px solid rgba(255,255,255,.25);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.overlay p{color:#fff;font-size:1rem;font-weight:500}.report-page{min-height:100vh;background:#f1f5f9}.top-bar{background:linear-gradient(135deg,#1e1b4b,#312e81,#4338ca);color:#fff;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #0000004d}.top-bar h1{font-size:1.2rem;font-weight:700}.back-link{color:#c7d2fe;font-size:.85rem;padding:.4rem .85rem;border:1px solid #a5b4fc;border-radius:99px;text-decoration:none}.back-link:hover{background:#ffffff1a;text-decoration:none}.hero{background:linear-gradient(135deg,#1e3a5f,#1e40af);color:#fff;padding:2.5rem 2rem 3rem;text-align:center}.big-score{font-size:4rem;font-weight:800;line-height:1;letter-spacing:-2px}.out-of{font-size:1.5rem;opacity:.6}.sub-scores{display:flex;justify-content:center;gap:2.5rem;margin-top:1.5rem;flex-wrap:wrap}.sub-score{text-align:center}.sub-score .val{font-size:1.6rem;font-weight:700}.sub-score .lbl{font-size:.78rem;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.score-bar-wrap{max-width:900px;margin:0 auto}.score-bar-track{height:10px;background:#fff3;border-radius:99px;overflow:hidden}.score-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#4ade80,#22c55e);transition:width 1s ease}.stats-row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0}.stat-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border-radius:99px;font-size:.875rem;font-weight:600}.stat-pill.correct{background:#dcfce7;color:#166534}.stat-pill.wrong{background:#fee2e2;color:#991b1b}.stat-pill.unanswered{background:#f1f5f9;color:#475569}.stat-pill.total{background:#ede9fe;color:#4c1d95}.stat-pill .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.stat-pill.correct .dot{background:#22c55e}.stat-pill.wrong .dot{background:#ef4444}.stat-pill.unanswered .dot{background:#94a3b8}.stat-pill.total .dot{background:#8b5cf6}.section-table-wrap{max-width:1100px;margin:1.5rem auto 0;padding:0 2rem}.section-table{width:100%;border-collapse:collapse;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 4px #0000000f;font-size:.85rem}.section-table th{background:#f8fafc;color:#64748b;font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;padding:.75rem 1rem;text-align:left}.section-table td{padding:.7rem 1rem;border-top:1px solid #f1f5f9;color:#334155}.section-table tr:hover td{background:#fafafa}.score-cell{font-weight:700;color:#1e293b}.controls{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;flex-wrap:wrap;max-width:1100px;margin:0 auto}.controls .lbl{font-size:.8rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.filter-btn{padding:.4rem 1rem;border:1.5px solid #cbd5e1;border-radius:99px;background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;color:#475569;transition:all .15s}.filter-btn:hover{border-color:#6366f1;color:#6366f1}.filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.filter-btn.f-correct.active{background:#16a34a;border-color:#16a34a}.filter-btn.f-wrong.active{background:#dc2626;border-color:#dc2626}.filter-btn.f-unanswered.active{background:#6b7280;border-color:#6b7280}.search-wrap{margin-left:auto;position:relative}.search-wrap input{padding:.4rem .85rem .4rem 2rem;border:1.5px solid #cbd5e1;border-radius:99px;font-size:.82rem;width:180px;outline:none;transition:border-color .2s}.search-wrap input:focus{border-color:#6366f1}.search-wrap:before{content:"🔍";position:absolute;left:.6rem;top:50%;transform:translateY(-50%);font-size:.75rem;pointer-events:none}.questions-wrap{max-width:1100px;margin:0 auto;padding:0 2rem 3rem}.section-heading{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:1.75rem 0 .75rem;display:flex;align-items:center;gap:.6rem}.section-heading:after{content:"";flex:1;height:1px;background:#e2e8f0}.q-card{background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000000f;margin-bottom:1rem;overflow:hidden;border-left:4px solid #e2e8f0;transition:box-shadow .15s}.q-card:hover{box-shadow:0 4px 20px #0000001a}.q-card.verdict-correct{border-left-color:#22c55e}.q-card.verdict-wrong{border-left-color:#ef4444}.q-card.verdict-unanswered{border-left-color:#94a3b8}.q-card-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid transparent;transition:background .15s}.q-card-header:hover{background:#f8fafc}.q-card-header.expanded{border-bottom-color:#e2e8f0}.q-num{font-size:.75rem;font-weight:700;background:#f1f5f9;color:#475569;padding:.2rem .55rem;border-radius:.4rem;white-space:nowrap}.q-key{font-size:.75rem;font-weight:600;color:#94a3b8;min-width:46px}.q-type-badge{font-size:.7rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;text-transform:uppercase}.q-type-badge.mcq{background:#ede9fe;color:#6d28d9}.q-type-badge.msq{background:#dbeafe;color:#1d4ed8}.q-type-badge.nat{background:#fef3c7;color:#92400e}.verdict-badge{margin-left:auto;font-size:.78rem;font-weight:700;padding:.25rem .8rem;border-radius:99px}.verdict-badge.correct{background:#dcfce7;color:#166534}.verdict-badge.wrong{background:#fee2e2;color:#991b1b}.verdict-badge.unanswered{background:#f1f5f9;color:#64748b}.marks-chip{font-size:.78rem;font-weight:700;padding:.2rem .65rem;border-radius:99px;white-space:nowrap}.marks-chip.pos{background:#dcfce7;color:#166534}.marks-chip.neg{background:#fee2e2;color:#991b1b}.marks-chip.zer{background:#f1f5f9;color:#64748b}.chevron{font-size:.8rem;color:#94a3b8;transition:transform .2s}.q-card-header.expanded .chevron{transform:rotate(180deg)}.q-card-body{display:none;padding:1.25rem}.q-card-body.visible{display:block}.q-body-img-wrap{text-align:center;margin-bottom:1.25rem;background:#f8fafc;border-radius:.75rem;padding:1rem;overflow-x:auto}.q-body-img-wrap img{max-width:100%;height:auto;display:inline-block}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem}.option-tile{border:2.5px solid #e2e8f0;border-radius:.85rem;padding:.6rem .75rem .75rem;background:#fff;position:relative;transition:transform .1s,box-shadow .1s}.option-tile:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.option-tile.correct-selected{border-color:#22c55e;background:#f0fdf4;box-shadow:0 0 0 3px #22c55e26}.option-tile.wrong-selected{border-color:#ef4444;background:#fff5f5;box-shadow:0 0 0 3px #ef444426}.option-tile.correct-missed{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 3px #f59e0b26}.option-label{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;margin-bottom:.5rem;background:#f1f5f9;color:#475569}.correct-selected .option-label{background:#22c55e;color:#fff}.wrong-selected .option-label{background:#ef4444;color:#fff}.correct-missed .option-label{background:#f59e0b;color:#fff}.option-img-wrap{text-align:center}.option-img-wrap img{max-width:100%;height:auto;max-height:100px}.option-text-fallback{font-size:.8rem;color:#64748b;padding:.4rem 0;text-align:center}.state-icon{position:absolute;top:.4rem;right:.5rem;font-size:.85rem}.option-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.85rem;font-size:.75rem;color:#64748b}.nat-box{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;margin-top:.5rem}.nat-cell{flex:1;min-width:140px;padding:1rem;border-radius:.75rem;text-align:center}.nat-cell .nat-lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.nat-cell .nat-val{font-size:1.5rem;font-weight:700}.nat-cell.student{background:#f1f5f9}.nat-cell.student .nat-lbl{color:#64748b}.nat-cell.student .nat-val{color:#1e293b}.nat-cell.correct{background:#f0fdf4}.nat-cell.correct .nat-lbl,.nat-cell.correct .nat-val{color:#15803d}.nat-cell.in-range{background:#f0fdf4}.nat-cell.in-range .nat-lbl,.nat-cell.in-range .nat-val{color:#15803d}.nat-cell.out-range{background:#fff5f5}.nat-cell.out-range .nat-lbl,.nat-cell.out-range .nat-val{color:#991b1b}.nat-cell.unanswered-val{background:#f8fafc}.nat-cell.unanswered-val .nat-val{color:#94a3b8}.nat-arrow{font-size:1.5rem;color:#cbd5e1;align-self:center}.q-meta-footer{margin-top:.85rem;font-size:.75rem;color:#94a3b8;display:flex;gap:1.5rem;flex-wrap:wrap}.no-results{text-align:center;padding:3rem;color:#94a3b8;font-size:.95rem}@media print{.top-bar,.controls{display:none}.q-card-body{display:block!important}}@media (max-width: 600px){.big-score{font-size:2.5rem}.options-grid{grid-template-columns:1fr 1fr}.card{padding:1.5rem}}.seo-content{background:#f8fafc;padding:3rem 1.5rem 4rem;border-top:1px solid #e2e8f0}.seo-container{max-width:860px;margin:0 auto}.seo-content h2{font-size:1.45rem;font-weight:700;color:#1a1a2e;margin:2.5rem 0 .75rem;padding-bottom:.4rem;border-bottom:2px solid #6366f1;display:inline-block}.seo-content h2:first-child{margin-top:0}.seo-content h3{font-size:1.05rem;font-weight:600;color:#2d3748;margin:1.5rem 0 .5rem}.seo-content p{font-size:.97rem;line-height:1.8;color:#4a5568;margin-bottom:.85rem}.seo-content ul,.seo-content ol{padding-left:1.4rem;margin-bottom:.85rem}.seo-content li{font-size:.97rem;line-height:1.75;color:#4a5568;margin-bottom:.3rem}.seo-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.1rem;margin:1.25rem 0 1.75rem}.seo-step{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:1.1rem;display:flex;gap:.85rem;align-items:flex-start}.seo-step-num{background:#6366f1;color:#fff;font-size:.82rem;font-weight:700;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.seo-step-text strong{display:block;font-size:.88rem;color:#1e293b;margin-bottom:.2rem}.seo-step-text span{font-size:.82rem;color:#64748b;line-height:1.5}.seo-marks-table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9rem;border-radius:.5rem;overflow:hidden}.seo-marks-table th{background:#6366f1;color:#fff;padding:.6rem 1rem;text-align:left;font-weight:600}.seo-marks-table td{padding:.55rem 1rem;border-bottom:1px solid #e2e8f0;color:#374151}.seo-marks-table tr:nth-child(2n) td{background:#f8fafc}.seo-marks-table .neg{color:#dc2626;font-weight:600}.seo-marks-table .pos{color:#16a34a;font-weight:600}.seo-marks-table .neu{color:#6b7280}.faq-list{margin:1rem 0}.faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:.85rem;overflow:hidden}.faq-q{font-size:.97rem;font-weight:600;color:#1e293b;padding:.9rem 1.25rem;background:#fff;border-left:3px solid #6366f1}.faq-a{font-size:.93rem;line-height:1.78;color:#4a5568;padding:.75rem 1.25rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.seo-note{background:#ede9fe;border-left:4px solid #6366f1;border-radius:0 .5rem .5rem 0;padding:.75rem 1.1rem;font-size:.88rem;color:#4c1d95;margin:1rem 0 1.5rem}.cutoff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0 1.5rem}.cutoff-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;text-align:center}.cutoff-card .dept{font-size:1.1rem;font-weight:700;color:#6366f1}.cutoff-card .marks{font-size:1.4rem;font-weight:800;color:#1e293b;margin:.2rem 0}.cutoff-card .label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 600px){.seo-content{padding:2rem 1rem 3rem}.seo-steps{grid-template-columns:1fr}.cutoff-grid{grid-template-columns:repeat(2,1fr)}.seo-marks-table{font-size:.82rem}.seo-marks-table th,.seo-marks-table td{padding:.4rem .6rem}}
