:root{
  --ot-bg:#eef4fa;
  --ot-card:#ffffff;
  --ot-ink:#102a43;
  --ot-muted:#627d98;
  --ot-line:#d9e5ef;
  --ot-primary:#0b5fa5;
  --ot-primary-dark:#083d6c;
  --ot-success:#147d4f;
  --ot-warning:#b7791f;
  --ot-danger:#b42318;
  --ot-review:#7c3aed;
  --ot-radius:18px;
  --ot-shadow:0 16px 42px rgba(27,69,104,.12);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--ot-bg);color:var(--ot-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.ot-app{min-height:100vh}
.ot-screen{min-height:100vh}
.ot-global-notice{position:fixed;z-index:200;top:0;left:0;right:0;padding:10px 18px;background:#fff1f0;color:#8f1f17;text-align:center;font-weight:800;border-bottom:1px solid #f1b8b4}
.ot-boot-screen{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dcecff 0,transparent 38%),var(--ot-bg)}
.ot-boot-card{text-align:center;background:#fff;border:1px solid var(--ot-line);border-radius:24px;padding:36px;box-shadow:var(--ot-shadow);min-width:min(420px,90vw)}
.ot-boot-card h1{margin:14px 0 6px}.ot-boot-card p{margin:0;color:var(--ot-muted)}
.ot-spinner{width:34px;height:34px;margin:22px auto 0;border:4px solid #d8e8f6;border-top-color:var(--ot-primary);border-radius:50%;animation:otspin .8s linear infinite}@keyframes otspin{to{transform:rotate(360deg)}}
.ot-brand-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,var(--ot-primary-dark),var(--ot-primary));color:white;font-size:32px;font-weight:950;box-shadow:0 10px 30px rgba(11,95,165,.26)}
.ot-brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:22px}.ot-brand-mark.tiny{width:30px;height:30px;border-radius:9px;font-size:17px}
.ot-brand-line{display:flex;align-items:center;gap:12px;font-weight:950;letter-spacing:.8px}.ot-brand-line.compact{font-size:12px;gap:8px;color:#426581}
.ot-login-screen{display:grid;place-items:center;padding:38px 22px;background:linear-gradient(135deg,#e8f3ff,#f7fbff 48%,#eaf1f8)}
.ot-login-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);width:min(1060px,100%);background:#fff;border:1px solid var(--ot-line);border-radius:28px;box-shadow:0 24px 70px rgba(23,61,96,.15);overflow:hidden}
.ot-login-hero{min-height:560px;padding:56px;background:linear-gradient(145deg,#092f52,#0b5fa5);color:white;position:relative;overflow:hidden}.ot-login-hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-160px;bottom:-180px;background:rgba(255,255,255,.08)}
.ot-login-hero h1{font-size:56px;line-height:1;margin:92px 0 20px;letter-spacing:-2px}.ot-login-hero p{max-width:520px;font-size:18px;line-height:1.65;color:#e5f2ff}.ot-login-points{display:grid;gap:13px;margin-top:38px;font-weight:750;color:#eaf6ff}
.ot-login-card{align-self:center;padding:54px}.ot-card-heading h2{font-size:30px;margin:6px 0 28px}.ot-eyebrow{font-size:12px;font-weight:950;letter-spacing:1.25px;color:var(--ot-primary)}
.ot-field{display:grid;gap:7px;margin:0 0 18px}.ot-field span{font-size:13px;font-weight:850;color:#334e68}.ot-field input{width:100%;padding:14px 15px;border:1px solid #bcccdc;border-radius:12px;background:#fbfdff;color:var(--ot-ink);outline:none;transition:.2s}.ot-field input:focus{border-color:var(--ot-primary);box-shadow:0 0 0 4px rgba(11,95,165,.11);background:white}
.ot-check-row{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#486581;margin:3px 0 24px}.ot-check-row input{margin-top:2px}
.ot-btn{border:0;border-radius:11px;padding:11px 16px;font-weight:900;transition:transform .12s ease,box-shadow .12s ease,opacity .12s}.ot-btn:hover:not(:disabled){transform:translateY(-1px)}.ot-btn:disabled{opacity:.5;cursor:not-allowed}.ot-btn-full{width:100%}.ot-btn-primary{background:linear-gradient(145deg,var(--ot-primary),#0878ca);color:#fff;box-shadow:0 8px 20px rgba(11,95,165,.2)}.ot-btn-light{background:#fff;color:#264b68;border:1px solid var(--ot-line)}.ot-btn-ghost{background:#edf5fb;color:#2e5877}.ot-btn-review{background:#f1eafe;color:#6931c5}.ot-btn-submit{background:#173d5b;color:#fff;margin-top:18px}.ot-form-message{min-height:22px;margin-top:13px;font-size:13px;font-weight:750;color:var(--ot-danger)}
.ot-topbar{min-height:82px;padding:13px clamp(16px,4vw,48px);background:#fff;border-bottom:1px solid var(--ot-line);display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:30}.ot-topbar h1{font-size:22px;margin:4px 0 0}.ot-top-actions{display:flex;gap:10px;align-items:center}.ot-icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--ot-line);background:#fff;color:var(--ot-primary);font-weight:1000;font-size:20px}
.ot-dashboard-main{width:min(1180px,calc(100% - 32px));margin:28px auto 60px}.ot-student-card{background:linear-gradient(145deg,#0b3155,#0b5fa5);color:#fff;border-radius:20px;padding:24px 26px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:var(--ot-shadow)}.ot-student-card h2{margin:0 0 7px;font-size:26px}.ot-student-card p{margin:0;color:#dcefff}.ot-student-card .ot-student-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ot-student-card .ot-student-tags span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:850}
.ot-dashboard-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 30px}.ot-summary-card{background:#fff;border:1px solid var(--ot-line);border-radius:15px;padding:16px}.ot-summary-card span{display:block;font-size:12px;color:var(--ot-muted);font-weight:800}.ot-summary-card strong{display:block;font-size:28px;margin-top:4px}.ot-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 2px 13px}.ot-section-heading h2{margin:4px 0 0}.ot-muted{color:var(--ot-muted);font-size:12px}
.ot-test-list{display:grid;gap:13px}.ot-test-card{background:#fff;border:1px solid var(--ot-line);border-radius:17px;padding:19px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:0 7px 23px rgba(40,73,105,.06)}.ot-test-card h3{margin:5px 0 7px;font-size:19px}.ot-test-card p{margin:0;color:var(--ot-muted);font-size:13px;line-height:1.5}.ot-test-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.ot-test-meta span{background:#f1f6fa;border:1px solid #e0eaf2;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;color:#46657f}.ot-test-card-actions{display:flex;gap:9px;align-items:center}.ot-state-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.4px}.ot-state-available{background:#e6f5ed;color:#116442}.ot-state-in_progress{background:#e6efff;color:#174e9a}.ot-state-completed{background:#eaeafc;color:#4d3c99}.ot-state-upcoming{background:#fff6dd;color:#8b5c08}.ot-state-closed{background:#edf0f3;color:#617384}.ot-empty{padding:38px;background:#fff;border:1px dashed #b8c9d8;border-radius:17px;text-align:center;color:var(--ot-muted)}
.ot-exam-screen{background:#edf3f8}.ot-exam-header{min-height:76px;background:#0b3155;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px clamp(14px,2.7vw,36px);position:sticky;top:0;z-index:40;box-shadow:0 8px 26px rgba(10,37,61,.18)}.ot-exam-title-wrap{display:flex;gap:13px;align-items:center;min-width:0}.ot-exam-title-wrap h1{margin:0;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}.ot-chip{padding:5px 8px;border-radius:8px;background:#fff;color:#0b4c83;font-size:11px;font-weight:1000}.ot-exam-meta{font-size:11px;color:#bed8ee;margin-top:3px}.ot-timer-card{min-width:142px;padding:8px 12px;border-radius:12px;background:#fff;color:#0d3557;text-align:center}.ot-timer-card span{display:block;font-size:9px;font-weight:950;letter-spacing:1px}.ot-timer-card strong{font-size:22px;font-variant-numeric:tabular-nums}.ot-timer-card.warning{background:#fff3cd;color:#7b5200}.ot-timer-card.danger{background:#ffe3e0;color:#9f2119;animation:otpulse 1.1s ease-in-out infinite}@keyframes otpulse{50%{transform:scale(1.02)}}
.ot-exam-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;width:min(1440px,calc(100% - 28px));margin:17px auto 30px}.ot-question-area{min-width:0}.ot-question-progress{background:#fff;border:1px solid var(--ot-line);border-radius:14px 14px 0 0;padding:11px 15px 9px}.ot-question-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:850}.ot-save-status{color:var(--ot-muted);font-weight:750}.ot-save-status.saving{color:#8b5c08}.ot-save-status.saved{color:var(--ot-success)}.ot-save-status.error{color:var(--ot-danger)}.ot-progress-track{height:5px;background:#edf2f7;border-radius:10px;margin-top:9px;overflow:hidden}.ot-progress-track span{display:block;height:100%;background:var(--ot-primary);width:0;transition:width .2s}
.ot-question-card{background:#fff;border:1px solid var(--ot-line);border-top:0;min-height:440px;padding:24px;border-radius:0 0 14px 14px}.ot-question-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ot-question-number{font-weight:950;color:var(--ot-primary)}.ot-question-kind{font-size:11px;padding:5px 8px;border-radius:999px;background:#f0f5f9;color:#516b80;font-weight:900}.ot-question-text{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.65;margin:22px 0}.ot-question-image{display:block;max-width:min(100%,680px);max-height:400px;object-fit:contain;margin:15px auto;border-radius:8px}.ot-options{display:grid;gap:10px;margin-top:18px}.ot-option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:13px;border:1px solid #d6e2eb;border-radius:12px;background:#fbfdff;cursor:pointer;transition:.15s}.ot-option:hover{border-color:#9bbbd3;background:#f6fbff}.ot-option.selected{border-color:var(--ot-primary);box-shadow:0 0 0 2px rgba(11,95,165,.08);background:#f2f8fd}.ot-option input{margin-top:5px}.ot-option-key{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eaf2f8;font-weight:950;color:#35556e}.ot-option-content{line-height:1.5}.ot-option-image{display:block;max-width:min(100%,420px);max-height:260px;object-fit:contain;margin-top:8px}.ot-integer-box{max-width:420px;margin-top:22px}.ot-integer-box label{font-weight:850;font-size:13px}.ot-integer-box input{width:100%;margin-top:8px;padding:14px;border:1px solid #b8cbd9;border-radius:10px;font-size:18px;outline:none}.ot-integer-box input:focus{border-color:var(--ot-primary);box-shadow:0 0 0 4px rgba(11,95,165,.1)}.ot-marks-line{font-size:11px;color:var(--ot-muted);margin-top:19px}
.ot-question-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;padding:13px;background:#fff;border:1px solid var(--ot-line);border-radius:14px;margin-top:10px}.ot-palette-panel{background:#fff;border:1px solid var(--ot-line);border-radius:15px;padding:15px;height:fit-content;position:sticky;top:93px}.ot-palette-student{padding:11px;border-radius:11px;background:#eef6fc;margin-bottom:13px}.ot-palette-student strong{display:block}.ot-palette-student small{color:var(--ot-muted)}.ot-palette-heading{display:flex;justify-content:space-between;font-size:12px;margin:5px 2px 10px}.ot-question-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:44vh;overflow:auto;padding:2px}.ot-palette-btn{aspect-ratio:1;border:1px solid #cbd9e4;background:#fff;color:#526b7f;border-radius:8px;font-weight:900}.ot-palette-btn.answered{background:#def3e8;color:#126644;border-color:#a8ddc1}.ot-palette-btn.review{background:#efe5ff;color:#6e32c7;border-color:#d6c0fa}.ot-palette-btn.current{box-shadow:0 0 0 3px rgba(11,95,165,.16);border-color:var(--ot-primary)}.ot-palette-btn.review.answered{background:linear-gradient(135deg,#def3e8 50%,#efe5ff 50%)}.ot-palette-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 2px 0;font-size:10px;color:#60778b}.ot-palette-legend span{display:flex;align-items:center;gap:5px}.ot-palette-legend i{width:12px;height:12px;border-radius:4px;border:1px solid #c8d7e1}.ot-palette-legend i.answered{background:#def3e8;border-color:#a8ddc1}.ot-palette-legend i.review{background:#efe5ff;border-color:#d6c0fa}.ot-palette-legend i.current{border:2px solid var(--ot-primary)}
.ot-result-main{width:min(760px,calc(100% - 32px));margin:44px auto}.ot-result-card{background:#fff;border:1px solid var(--ot-line);border-radius:22px;padding:30px;box-shadow:var(--ot-shadow);margin-bottom:16px;text-align:center}.ot-result-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e4f5ed;color:var(--ot-success);font-size:34px;font-weight:950}.ot-result-card h2{margin:8px 0}.ot-result-card p{color:var(--ot-muted)}.ot-score-main{font-size:50px;font-weight:1000;color:#0b4e85;letter-spacing:-2px}.ot-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:22px 0 6px;text-align:left}.ot-result-stat{background:#f5f9fc;border:1px solid #e3ecf3;border-radius:12px;padding:12px}.ot-result-stat span{font-size:10px;color:var(--ot-muted);font-weight:850}.ot-result-stat strong{display:block;font-size:20px;margin-top:4px}
.ot-dialog-backdrop{position:fixed;z-index:100;inset:0;background:rgba(8,31,49,.58);display:grid;place-items:center;padding:18px}.ot-dialog{width:min(650px,100%);max-height:min(82vh,780px);overflow:hidden;background:#fff;border-radius:19px;box-shadow:0 30px 90px rgba(0,0,0,.28);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.ot-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid var(--ot-line)}.ot-dialog-head h2{margin:0;font-size:20px}.ot-dialog-close{border:0;background:#edf2f6;width:34px;height:34px;border-radius:50%;font-size:22px;color:#36566d}.ot-dialog-body{padding:20px;overflow:auto;line-height:1.65;color:#334e68}.ot-dialog-actions{padding:14px 20px;border-top:1px solid var(--ot-line);display:flex;gap:9px;justify-content:flex-end}.ot-instruction-list{margin:12px 0 0;padding-left:20px}.ot-instruction-list li{margin:6px 0}.ot-dialog-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.ot-dialog-summary div{background:#f3f7fa;border-radius:10px;padding:10px;text-align:center}.ot-dialog-summary strong{display:block;font-size:18px}.ot-dialog-summary span{font-size:10px;color:var(--ot-muted)}
.ot-toast-host{position:fixed;z-index:250;right:16px;bottom:16px;display:grid;gap:9px;width:min(370px,calc(100vw - 32px))}.ot-toast{background:#173d5b;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 12px 36px rgba(19,48,72,.3);font-size:13px;font-weight:750}.ot-toast.error{background:#97261d}.ot-toast.success{background:#166544}.ot-toast.warning{background:#8a5b0a}
@media(max-width:900px){.ot-login-layout{grid-template-columns:1fr;max-width:620px}.ot-login-hero{min-height:auto;padding:32px}.ot-login-hero h1{margin:50px 0 14px;font-size:42px}.ot-login-card{padding:36px}.ot-dashboard-summary{grid-template-columns:repeat(2,1fr)}.ot-exam-body{grid-template-columns:1fr}.ot-palette-panel{position:static}.ot-question-palette{grid-template-columns:repeat(10,1fr);max-height:none}.ot-test-card{grid-template-columns:1fr}.ot-test-card-actions{justify-content:flex-start}.ot-result-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ot-login-screen{padding:14px}.ot-login-layout{border-radius:20px}.ot-login-hero{padding:25px}.ot-login-hero h1{font-size:36px;margin-top:38px}.ot-login-card{padding:28px 22px}.ot-student-card{display:block}.ot-student-card .ot-student-tags{justify-content:flex-start;margin-top:13px}.ot-dashboard-main{width:min(100% - 20px,1180px);margin-top:13px}.ot-topbar{min-height:68px;padding:10px 12px}.ot-topbar h1{font-size:18px}.ot-dashboard-summary{gap:8px}.ot-summary-card{padding:12px}.ot-summary-card strong{font-size:23px}.ot-test-card{padding:15px}.ot-exam-header{padding:8px 9px}.ot-exam-title-wrap h1{font-size:14px;max-width:44vw}.ot-exam-meta{font-size:9px}.ot-chip{display:none}.ot-timer-card{min-width:110px;padding:7px}.ot-timer-card strong{font-size:17px}.ot-exam-body{width:calc(100% - 12px);margin:7px auto 18px;gap:8px}.ot-question-card{padding:17px;min-height:390px}.ot-question-text{font-size:18px}.ot-question-actions{display:grid;grid-template-columns:1fr 1fr;padding:8px}.ot-question-actions .ot-btn{padding:10px 7px;font-size:12px}.ot-palette-panel{padding:11px}.ot-question-palette{grid-template-columns:repeat(8,1fr)}.ot-palette-legend{grid-template-columns:1fr 1fr}.ot-result-main{margin:18px auto;width:calc(100% - 20px)}.ot-result-card{padding:22px 14px}.ot-score-main{font-size:42px}.ot-dialog-backdrop{padding:8px}.ot-dialog{max-height:92vh}.ot-dialog-body{padding:16px}.ot-dialog-summary{grid-template-columns:1fr 1fr}.ot-section-heading{align-items:flex-start}.ot-section-heading .ot-muted{display:none}}
@media(max-width:390px){.ot-question-palette{grid-template-columns:repeat(7,1fr)}.ot-dashboard-summary{grid-template-columns:1fr 1fr}.ot-login-points{font-size:13px}.ot-question-actions{grid-template-columns:1fr}.ot-result-grid{grid-template-columns:1fr 1fr}}


/* =========================================================
   V1.2 POST-SUBMISSION QUESTION-WISE ANALYSIS
========================================================= */
.ot-result-main{width:min(1120px,calc(100% - 32px));margin:32px auto}.ot-result-card{padding:0;background:transparent;border:0;box-shadow:none;text-align:left}.ot-result-summary{background:#fff;border:1px solid var(--ot-line);border-radius:22px;padding:30px;box-shadow:var(--ot-shadow);text-align:center;margin-bottom:18px}.ot-result-summary h2{margin:8px 0}.ot-result-summary p{color:var(--ot-muted)}
.ot-review-section{background:#fff;border:1px solid var(--ot-line);border-radius:22px;padding:24px;box-shadow:var(--ot-shadow)}.ot-review-title{text-align:center;margin-bottom:16px}.ot-review-title h2{margin:5px 0 4px}.ot-review-title p{margin:0;color:var(--ot-muted)}.ot-review-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;background:#f5f8fb;border:1px solid #dce7ef;border-radius:13px;padding:12px 14px;margin-bottom:20px;font-size:12px;color:#405b70}.ot-review-legend span{display:flex;align-items:center;gap:7px}.ot-review-legend i{display:inline-block;width:22px;height:18px;border-radius:5px;border:1px solid transparent}.ot-legend-correct{background:#dff5e8;border-color:#9bd2b1!important}.ot-legend-student{background:#fff2ad;border-color:#dfc965!important}.ot-legend-correct-selected{background:#16784e;border-color:#0d633f!important}.ot-review-question-list{display:grid;gap:16px}.ot-review-question{border:1px solid #d9e5ef;border-radius:16px;padding:20px;background:#fff}.ot-review-question-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:11px;border-bottom:1px solid #edf2f6}.ot-review-question-head>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ot-review-meta{font-size:11px;font-weight:800;color:#6a8092;background:#f2f6f9;padding:4px 7px;border-radius:999px}.ot-review-status-wrap{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.ot-review-status-wrap>strong{white-space:nowrap;color:#344f63}.ot-review-status{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.4px}.ot-review-status.correct{background:#def3e8;color:#126644}.ot-review-status.wrong{background:#fde7e4;color:#9d2b22}.ot-review-status.unanswered{background:#eef2f5;color:#5a6e7d}.ot-review-question-text{margin:18px 0 14px}.ot-review-options{display:grid;gap:9px;margin-top:14px}.ot-review-option{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #d7e2ea;border-radius:12px;background:#fbfdff}.ot-review-option-key{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf2f8;font-weight:950;color:#35556e}.ot-review-option-body{min-width:0;line-height:1.5}.ot-review-option-correct{background:#dff5e8;border-color:#9bd2b1}.ot-review-option-correct .ot-review-option-key{background:#bde5cd;color:#0f5d3d}.ot-review-option-student{background:#fff2ad;border-color:#dfc965}.ot-review-option-student .ot-review-option-key{background:#ffe47e;color:#715700}.ot-review-option-correct-selected{background:#16784e;border-color:#0d633f;color:#fff}.ot-review-option-correct-selected .ot-review-option-key{background:#0e5f3d;color:#fff}.ot-review-option-correct-selected .ot-option-image{background:#fff;border-radius:7px;padding:4px}.ot-review-answer-note{display:inline-block;margin-top:8px;font-size:10px;font-weight:950;letter-spacing:.2px}.ot-review-option-correct .ot-review-answer-note{color:#0f6742}.ot-review-option-student .ot-review-answer-note{color:#725900}.ot-review-option-correct-selected .ot-review-answer-note{color:#fff}.ot-review-numerical-wrap{display:grid;gap:9px;margin-top:14px}.ot-review-numerical{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;border-radius:12px;border:1px solid}.ot-review-numerical strong{font-size:19px}.ot-review-numerical span{font-size:11px;font-weight:900}.ot-review-not-attempted{padding:10px 12px;border-radius:10px;background:#f3f6f8;color:#62798b;font-size:12px;font-weight:750}.ot-review-was-marked{margin-top:11px;font-size:10px;color:#6e32c7;font-weight:850}.ot-review-question .ot-question-image{max-height:500px}.ot-review-question .ot-option-image{max-height:320px}
@media(max-width:620px){.ot-result-main{width:calc(100% - 16px);margin:12px auto 20px}.ot-result-summary{padding:22px 12px}.ot-review-section{padding:13px}.ot-review-legend{display:grid;justify-content:stretch;gap:8px}.ot-review-question{padding:14px}.ot-review-question-head{display:block}.ot-review-status-wrap{justify-content:flex-start;margin-top:9px}.ot-review-question-text{font-size:17px;line-height:1.55}.ot-review-option{grid-template-columns:34px minmax(0,1fr);padding:10px}.ot-review-numerical{align-items:flex-start;flex-direction:column;gap:4px}}

/* V1.9 inline Word equation/image preservation */
.ot-rich-inline-image{display:inline-block;max-width:min(100%,720px);max-height:320px;object-fit:contain;vertical-align:middle;margin:6px 8px;border-radius:4px;background:#fff}
.ot-option .ot-rich-inline-image{max-width:min(100%,520px);max-height:240px;margin:5px 6px}
.ot-review-option .ot-rich-inline-image{max-width:min(100%,560px);max-height:280px}
@media(max-width:700px){.ot-rich-inline-image{max-width:100%;height:auto;margin:5px 2px}.ot-option .ot-rich-inline-image{max-width:100%;height:auto}}


/* V1.9.1 equation font-size normalization */
.ot-rich-inline-equation{display:inline-block;width:auto;height:1.34em;max-width:72%;object-fit:contain;vertical-align:-.20em;margin:0 .14em;border-radius:2px;background:#fff}
.ot-option .ot-rich-inline-equation{height:1.42em;max-width:78%;vertical-align:-.22em;margin:0 .12em}
.ot-review-option .ot-rich-inline-equation{height:1.42em;max-width:78%;vertical-align:-.22em}
.ot-review-question-text .ot-rich-inline-equation{height:1.34em}
@media(max-width:700px){.ot-rich-inline-equation,.ot-option .ot-rich-inline-equation,.ot-review-option .ot-rich-inline-equation{height:1.34em;max-width:84%;vertical-align:-.20em}}

/* =========================================================
   EDUHUNT OLT V1.10 - SUBJECT NAVIGATION + QUESTION TIMING
   ========================================================= */
.ot-exam-timers{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex:0 0 auto}
.ot-question-time-card{min-width:118px;padding:8px 11px;border-radius:12px;background:#dff1ff;color:#0b416d;text-align:center;border:1px solid rgba(255,255,255,.18)}
.ot-question-time-card span{display:block;font-size:9px;font-weight:950;letter-spacing:.8px}
.ot-question-time-card strong{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin-top:1px}
.ot-subject-tabs-shell{background:#fff;border-bottom:1px solid #d8e3ec;box-shadow:0 5px 15px rgba(13,49,82,.06)}
.ot-subject-tabs{width:min(1440px,calc(100% - 28px));margin:0 auto;padding:9px 0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}
.ot-subject-tab{border:1px solid #cbd9e4;background:#f6f9fc;color:#31536d;border-radius:10px;min-height:42px;padding:7px 13px;display:flex;align-items:center;gap:7px;font:inherit;font-weight:850;white-space:nowrap;cursor:pointer;transition:.16s ease}
.ot-subject-tab:hover{border-color:#7fb2dc;background:#eef7ff}
.ot-subject-tab.active{background:#0b5fa5;border-color:#0b5fa5;color:#fff;box-shadow:0 5px 14px rgba(11,95,165,.18)}
.ot-subject-tab small{min-width:28px;text-align:center;border-radius:999px;padding:2px 6px;background:rgba(255,255,255,.72);color:#43647d;font-size:9px;font-weight:950}
.ot-subject-tab.active small{background:rgba(255,255,255,.18);color:#fff}
.ot-subject-short{display:none}
.ot-question-top>div:first-child{display:flex;align-items:center;gap:8px}
.ot-question-subject{display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;background:#eef6fc;color:#315f82;font-size:9px;font-weight:950;letter-spacing:.45px}
.ot-question-actions{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(150px,.9fr) minmax(210px,1.2fr);justify-content:end;gap:9px}
.ot-question-actions .ot-btn{width:100%;white-space:nowrap}
.ot-action-short{display:none}
.ot-palette-heading{align-items:flex-start;gap:8px}
.ot-palette-heading #otAnsweredCounter{text-align:right;line-height:1.35;max-width:170px}
.ot-review-time{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eaf2f8;color:#35566e;font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
.ot-review-subject-group{margin-top:18px}
.ot-review-subject-group:first-child{margin-top:0}
.ot-review-subject-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#0b3155;color:#fff;border-radius:12px;margin-bottom:10px}
.ot-review-subject-heading>div{display:flex;align-items:center;gap:9px}.ot-review-subject-heading span{display:inline-flex;padding:4px 7px;border-radius:7px;background:rgba(255,255,255,.14);font-size:9px;font-weight:950;letter-spacing:.5px}.ot-review-subject-heading h3{margin:0;font-size:16px}.ot-review-subject-heading strong{font-size:11px;color:#cce2f2}

@media(max-width:900px){
  .ot-subject-tabs{width:calc(100% - 16px)}
  .ot-question-actions{grid-template-columns:.8fr 1fr 1.25fr;position:sticky;bottom:0;z-index:24;box-shadow:0 -8px 22px rgba(18,52,78,.10)}
}
@media(max-width:620px){
  .ot-exam-header{align-items:center;gap:7px}
  .ot-exam-timers{gap:5px}
  .ot-question-time-card{min-width:82px;padding:6px 5px}.ot-question-time-card span{font-size:7px;letter-spacing:.35px}.ot-question-time-card strong{font-size:15px}
  .ot-timer-card{min-width:88px!important;padding:6px 5px!important}.ot-timer-card span{font-size:7px!important}.ot-timer-card strong{font-size:15px!important}
  .ot-subject-tabs{width:calc(100% - 12px);padding:7px 0;gap:6px}.ot-subject-tab{min-height:37px;padding:6px 10px;border-radius:9px}.ot-subject-full{display:none}.ot-subject-short{display:inline}.ot-subject-tab small{font-size:8px;min-width:24px;padding:2px 5px}
  .ot-question-actions{grid-template-columns:.72fr .9fr 1.12fr;padding:7px;gap:6px;border-radius:12px}.ot-question-actions .ot-btn{padding:10px 5px;font-size:11px}.ot-action-full{display:none}.ot-action-short{display:inline}
  .ot-review-status-wrap{gap:6px}.ot-review-time{font-size:9px;padding:4px 7px}
  .ot-review-subject-heading{padding:10px}.ot-review-subject-heading h3{font-size:14px}.ot-review-subject-heading strong{font-size:10px}
}
@media(max-width:390px){
  .ot-question-actions{grid-template-columns:.72fr .88fr 1.18fr}.ot-question-actions .ot-btn{font-size:10px;padding:9px 3px}
}


/* EDUHUNT OLT V1.12 SPEED + SUBJECT NAV */
.ot-btn.is-busy{opacity:.72;cursor:wait;pointer-events:none}
.ot-subject-tabs:empty{display:none}
.ot-subject-tab{flex:0 0 auto}
@media(max-width:700px){.ot-subject-tab{min-width:74px;justify-content:center}}

/* EDUHUNT OLT PRO V2.3 - NATIVE MATHML / CHEMISTRY / FRACTION FIDELITY */
.ot-math-inline{display:inline-flex;align-items:center;vertical-align:-.16em;margin:0 .08em;max-width:100%;overflow-x:auto;overflow-y:hidden}
.ot-math-inline math{font-size:1em;font-family:"Cambria Math","STIX Two Math","STIXGeneral","Times New Roman",serif;line-height:1.15}
.ot-question-text .ot-math-inline math{font-size:1.04em}
.ot-option .ot-math-inline math,.ot-review-option .ot-math-inline math{font-size:1em}
.ot-math-inline mfrac{
  padding-inline:.10em;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:center 50%;
  background-size:100% 2px;
}
/* Keep option number and option text on the same row. Long text alone may wrap. */
.ot-option-content{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.ot-option-key{grid-column:1;grid-row:1}
.ot-option-text{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
.ot-option-content>.ot-option-image{grid-column:2;grid-row:2;margin-top:6px}

.ot-math-inline mtable{margin:.08em .12em}
.ot-question-text sup,.ot-question-text sub,.ot-option sup,.ot-option sub,.ot-review-question-text sup,.ot-review-question-text sub{font-size:.72em;line-height:0;position:relative;vertical-align:baseline}
.ot-question-text sup,.ot-option sup,.ot-review-question-text sup{top:-.48em}
.ot-question-text sub,.ot-option sub,.ot-review-question-text sub{bottom:-.2em}
.ot-math-review{display:inline-flex;align-items:center;margin:.15em .3em;padding:3px 7px;border-radius:7px;background:#fff0cc;color:#8a5200;border:1px solid #efc76c;font-size:11px;font-weight:900}
@media(max-width:700px){.ot-math-inline{max-width:96vw}.ot-math-inline math{font-size:.98em}.ot-question-text .ot-math-inline math{font-size:1em}}

/* =========================================================
   V1.2 POST-SUBMISSION QUESTION-WISE ANALYSIS
========================================================= */
.ot-result-main{width:min(1120px,calc(100% - 32px));margin:32px auto}.ot-result-card{padding:0;background:transparent;border:0;box-shadow:none;text-align:left}.ot-result-summary{background:#fff;border:1px solid var(--ot-line);border-radius:22px;padding:30px;box-shadow:var(--ot-shadow);text-align:center;margin-bottom:18px}.ot-result-summary h2{margin:8px 0}.ot-result-summary p{color:var(--ot-muted)}
.ot-review-section{background:#fff;border:1px solid var(--ot-line);border-radius:22px;padding:24px;box-shadow:var(--ot-shadow)}.ot-review-title{text-align:center;margin-bottom:16px}.ot-review-title h2{margin:5px 0 4px}.ot-review-title p{margin:0;color:var(--ot-muted)}.ot-review-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;background:#f5f8fb;border:1px solid #dce7ef;border-radius:13px;padding:12px 14px;margin-bottom:20px;font-size:12px;color:#405b70}.ot-review-legend span{display:flex;align-items:center;gap:7px}.ot-review-legend i{display:inline-block;width:22px;height:18px;border-radius:5px;border:1px solid transparent}.ot-legend-correct{background:#dff5e8;border-color:#9bd2b1!important}.ot-legend-student{background:#fff2ad;border-color:#dfc965!important}.ot-legend-correct-selected{background:#16784e;border-color:#0d633f!important}.ot-review-question-list{display:grid;gap:16px}.ot-review-question{border:1px solid #d9e5ef;border-radius:16px;padding:20px;background:#fff}.ot-review-question-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:11px;border-bottom:1px solid #edf2f6}.ot-review-question-head>div:first-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ot-review-meta{font-size:11px;font-weight:800;color:#6a8092;background:#f2f6f9;padding:4px 7px;border-radius:999px}.ot-review-status-wrap{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.ot-review-status-wrap>strong{white-space:nowrap;color:#344f63}.ot-review-status{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.4px}.ot-review-status.correct{background:#def3e8;color:#126644}.ot-review-status.wrong{background:#fde7e4;color:#9d2b22}.ot-review-status.unanswered{background:#eef2f5;color:#5a6e7d}.ot-review-question-text{margin:18px 0 14px}.ot-review-options{display:grid;gap:9px;margin-top:14px}.ot-review-option{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #d7e2ea;border-radius:12px;background:#fbfdff}.ot-review-option-key{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf2f8;font-weight:950;color:#35556e}.ot-review-option-body{min-width:0;line-height:1.5}.ot-review-option-correct{background:#dff5e8;border-color:#9bd2b1}.ot-review-option-correct .ot-review-option-key{background:#bde5cd;color:#0f5d3d}.ot-review-option-student{background:#fff2ad;border-color:#dfc965}.ot-review-option-student .ot-review-option-key{background:#ffe47e;color:#715700}.ot-review-option-correct-selected{background:#16784e;border-color:#0d633f;color:#fff}.ot-review-option-correct-selected .ot-review-option-key{background:#0e5f3d;color:#fff}.ot-review-option-correct-selected .ot-option-image{background:#fff;border-radius:7px;padding:4px}.ot-review-answer-note{display:inline-block;margin-top:8px;font-size:10px;font-weight:950;letter-spacing:.2px}.ot-review-option-correct .ot-review-answer-note{color:#0f6742}.ot-review-option-student .ot-review-answer-note{color:#725900}.ot-review-option-correct-selected .ot-review-answer-note{color:#fff}.ot-review-numerical-wrap{display:grid;gap:9px;margin-top:14px}.ot-review-numerical{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 15px;border-radius:12px;border:1px solid}.ot-review-numerical strong{font-size:19px}.ot-review-numerical span{font-size:11px;font-weight:900}.ot-review-not-attempted{padding:10px 12px;border-radius:10px;background:#f3f6f8;color:#62798b;font-size:12px;font-weight:750}.ot-review-was-marked{margin-top:11px;font-size:10px;color:#6e32c7;font-weight:850}.ot-review-question .ot-question-image{max-height:500px}.ot-review-question .ot-option-image{max-height:320px}
@media(max-width:620px){.ot-result-main{width:calc(100% - 16px);margin:12px auto 20px}.ot-result-summary{padding:22px 12px}.ot-review-section{padding:13px}.ot-review-legend{display:grid;justify-content:stretch;gap:8px}.ot-review-question{padding:14px}.ot-review-question-head{display:block}.ot-review-status-wrap{justify-content:flex-start;margin-top:9px}.ot-review-question-text{font-size:17px;line-height:1.55}.ot-review-option{grid-template-columns:34px minmax(0,1fr);padding:10px}.ot-review-numerical{align-items:flex-start;flex-direction:column;gap:4px}}

/* V1.9 inline Word equation/image preservation */
.ot-rich-inline-image{display:inline-block;max-width:min(100%,720px);max-height:320px;object-fit:contain;vertical-align:middle;margin:6px 8px;border-radius:4px;background:#fff}
.ot-option .ot-rich-inline-image{max-width:min(100%,520px);max-height:240px;margin:5px 6px}
.ot-review-option .ot-rich-inline-image{max-width:min(100%,560px);max-height:280px}
@media(max-width:700px){.ot-rich-inline-image{max-width:100%;height:auto;margin:5px 2px}.ot-option .ot-rich-inline-image{max-width:100%;height:auto}}


/* V1.9.1 equation font-size normalization */
.ot-rich-inline-equation{display:inline-block;width:auto;height:1.34em;max-width:72%;object-fit:contain;vertical-align:-.20em;margin:0 .14em;border-radius:2px;background:#fff}
.ot-option .ot-rich-inline-equation{height:1.42em;max-width:78%;vertical-align:-.22em;margin:0 .12em}
.ot-review-option .ot-rich-inline-equation{height:1.42em;max-width:78%;vertical-align:-.22em}
.ot-review-question-text .ot-rich-inline-equation{height:1.34em}
@media(max-width:700px){.ot-rich-inline-equation,.ot-option .ot-rich-inline-equation,.ot-review-option .ot-rich-inline-equation{height:1.34em;max-width:84%;vertical-align:-.20em}}



/* EDUHUNT OLT PRO V2.3 - STACKED / VERTICAL FRACTIONS */
.ot-math-frac{
  display:inline-flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  vertical-align:-.42em;
  margin:0 .14em;
  min-width:1.2em;
  max-width:min(100%,32em);
  line-height:1.05;
  font-family:"Cambria Math","STIX Two Math","Times New Roman",serif;
  text-align:center;
  white-space:nowrap;
}
.ot-math-frac-num{
  display:block;
  padding:0 .22em .08em;
  border-bottom:2px solid currentColor;
  text-align:center;
}
.ot-math-frac-den{
  display:block;
  padding:.08em .22em 0;
  text-align:center;
}
.ot-question-text .ot-math-frac{font-size:.98em}
.ot-option-text .ot-math-frac,.ot-review-option .ot-math-frac{font-size:.96em}
@media(max-width:700px){
  .ot-math-frac{max-width:88vw;font-size:.94em;margin-inline:.10em}
}


/* EDUHUNT OLT PRO V2.4 - WORKED SOLUTIONS IN RESULT ANALYSIS */
.ot-worked-solution{
  margin-top:18px;
  border:1px solid #b9d7f2;
  border-radius:14px;
  background:#f7fbff;
  overflow:hidden;
}
.ot-worked-solution-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 14px;
  background:#e8f3fc;
  border-bottom:1px solid #c9deef;
}
.ot-worked-solution-head span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#315d7a;
}
.ot-worked-solution-head strong{
  font-size:14px;
  color:#0d4266;
}
.ot-worked-solution-body{
  padding:14px 16px 16px;
  color:#132f42;
  font-size:15px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.ot-worked-solution-body .ot-rich-inline-image,
.ot-worked-solution-body .ot-rich-inline-equation{
  max-width:100%;
  height:auto;
}
.ot-worked-solution-body math{
  max-width:100%;
}
@media (max-width:640px){
  .ot-worked-solution{margin-top:14px;border-radius:12px}
  .ot-worked-solution-head{padding:9px 11px}
  .ot-worked-solution-body{padding:12px;font-size:14px;line-height:1.6}
}

/* EDUHUNT OLT PRO V2.7 · Student catalogue filters + partial marking */
.ot-test-filter-shell{margin:0 0 24px;padding:16px;border:1px solid #d9e6ef;border-radius:17px;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 6px 20px rgba(40,73,105,.045)}
.ot-filter-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.ot-filter-head>div{display:grid;gap:3px}.ot-filter-head strong{font-size:15px;color:#173d59}
.ot-filter-reset{appearance:none;border:0;background:transparent;color:#1769d2;font-size:11px;font-weight:900;cursor:pointer;padding:6px 8px;border-radius:8px}.ot-filter-reset:hover{background:#eaf3ff}.ot-filter-reset[hidden]{display:none}
.ot-filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ot-filter-row+.ot-filter-row{margin-top:9px;padding-top:9px;border-top:1px solid #e9eff4}
.ot-filter-chip{appearance:none;border:1px solid #cfdce6;background:#fff;color:#3f5e74;border-radius:999px;min-height:36px;padding:7px 12px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:900;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.ot-filter-chip b{min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;background:#edf3f7;color:#60788c;font-size:10px}
.ot-filter-chip:hover{border-color:#8fb6d4;background:#f7fbff}.ot-filter-chip.active{background:#0d5d94;border-color:#0d5d94;color:#fff;box-shadow:0 4px 12px rgba(13,93,148,.15)}.ot-filter-chip.active b{background:rgba(255,255,255,.18);color:#fff}
.ot-filter-chip-type{min-height:32px;padding:6px 11px;font-size:11px}.ot-filter-chip-type.active{background:#e5f2ff;color:#0b5a91;border-color:#8ab9df;box-shadow:none}.ot-filter-chip-type.active b{background:#cde6fa;color:#0b5a91}
.ot-filter-result-text{margin-top:10px;color:#728596;font-size:11px;font-weight:800}
.ot-test-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ot-catalog-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef4f8;color:#48677d;font-size:10px;font-weight:950;letter-spacing:.25px;text-transform:uppercase}.ot-catalog-badge.practice{background:#fff1dc;color:#8a5707}
.ot-result-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ot-result-stat.partial{background:#fff7dc;border-color:#ead593}.ot-result-stat.partial span,.ot-result-stat.partial strong{color:#785c00}
.ot-review-status.partial{background:#fff1bf;color:#7c5f00}
@media(max-width:620px){
  .ot-test-filter-shell{padding:12px;margin-bottom:17px;border-radius:14px}.ot-filter-head{align-items:flex-start}.ot-filter-head strong{font-size:13px}.ot-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ot-filter-chip{justify-content:space-between;width:100%;min-height:38px;padding:7px 10px}.ot-filter-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-filter-chip-type{min-height:35px}.ot-filter-result-text{font-size:10px}.ot-test-badges{gap:5px}
}
@media(max-width:390px){.ot-filter-row,.ot-filter-row-secondary{grid-template-columns:1fr 1fr}.ot-filter-chip{font-size:11px}.ot-filter-chip b{min-width:19px;height:19px}}

/* =========================================================
   EDUHUNT OLT PRO V2.8 R319
   EXPLICIT LIGHT / DARK THEME WITH EXAM-SAFE CONTRAST
   ========================================================= */
html[data-ot-theme="light"]{
  color-scheme:light;
  --ot-bg:#eef4fa;
  --ot-card:#ffffff;
  --ot-ink:#102a43;
  --ot-muted:#627d98;
  --ot-line:#d9e5ef;
  --ot-primary:#0b5fa5;
  --ot-primary-dark:#083d6c;
  --ot-success:#147d4f;
  --ot-warning:#9a6300;
  --ot-danger:#b42318;
  --ot-review:#6f35c8;
  --ot-shadow:0 16px 42px rgba(27,69,104,.12);
}
html[data-ot-theme="dark"]{
  color-scheme:dark;
  --ot-bg:#020914;
  --ot-card:#071827;
  --ot-ink:#f3f8fd;
  --ot-muted:#b5c8d8;
  --ot-line:#29465e;
  --ot-primary:#5bc7ff;
  --ot-primary-dark:#0b5f96;
  --ot-success:#76e5b3;
  --ot-warning:#ffd36b;
  --ot-danger:#ff928b;
  --ot-review:#c8a7ff;
  --ot-shadow:0 16px 42px rgba(0,0,0,.30);
}
html[data-ot-theme="dark"],html[data-ot-theme="dark"] body,
body[data-ot-theme="dark"]{background:#020914!important;color:#f3f8fd!important}

/* Theme switch: two explicit choices, including while an examination is open. */
.ot-theme-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--ot-line);border-radius:12px;background:var(--ot-card);box-shadow:0 2px 9px rgba(16,42,67,.05)}
.ot-theme-choice{min-height:34px;border:0;border-radius:9px;background:transparent;color:var(--ot-muted);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
.ot-theme-choice span{font-size:15px;line-height:1}.ot-theme-choice b{font-size:10px}
.ot-theme-choice.active{background:#0b5fa5;color:#fff;box-shadow:0 4px 10px rgba(11,95,165,.22)}
html[data-ot-theme="dark"] .ot-theme-switch{background:#061725!important;border-color:#36556d!important;box-shadow:none!important}
html[data-ot-theme="dark"] .ot-theme-choice{color:#c6d7e5!important}
html[data-ot-theme="dark"] .ot-theme-choice.active{background:#1182c4!important;color:#fff!important}
.ot-exam-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto}
.ot-theme-switch-exam{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24);box-shadow:none}
.ot-theme-switch-exam .ot-theme-choice{color:#e6f3ff}.ot-theme-switch-exam .ot-theme-choice.active{background:#fff;color:#0b3155}
html[data-ot-theme="dark"] .ot-theme-switch-exam{background:#071827!important;border-color:#3a5c75!important}
html[data-ot-theme="dark"] .ot-theme-switch-exam .ot-theme-choice.active{background:#dff3ff!important;color:#062b44!important}

/* Light mode is explicit rather than depending on old default card colors. */
html[data-ot-theme="light"] :is(.ot-boot-card,.ot-login-layout,.ot-topbar,.ot-summary-card,.ot-test-card,.ot-empty,.ot-question-progress,.ot-question-card,.ot-question-actions,.ot-palette-panel,.ot-result-summary,.ot-review-section,.ot-review-question,.ot-dialog){background:#fff;color:#102a43}
html[data-ot-theme="light"] .ot-r305-filter-field select{background:#fff;color:#123752}

/* Dark mode page surfaces. */
html[data-ot-theme="dark"] .ot-boot-screen{background:radial-gradient(circle at top right,#0d3150 0,transparent 38%),#020914!important}
html[data-ot-theme="dark"] .ot-boot-card,
html[data-ot-theme="dark"] .ot-login-layout,
html[data-ot-theme="dark"] .ot-topbar,
html[data-ot-theme="dark"] .ot-summary-card,
html[data-ot-theme="dark"] .ot-test-card,
html[data-ot-theme="dark"] .ot-empty,
html[data-ot-theme="dark"] .ot-question-progress,
html[data-ot-theme="dark"] .ot-question-card,
html[data-ot-theme="dark"] .ot-question-actions,
html[data-ot-theme="dark"] .ot-palette-panel,
html[data-ot-theme="dark"] .ot-result-summary,
html[data-ot-theme="dark"] .ot-review-section,
html[data-ot-theme="dark"] .ot-review-question,
html[data-ot-theme="dark"] .ot-dialog{
  background:#071827!important;
  color:#f3f8fd!important;
  border-color:#29465e!important;
  box-shadow:none!important;
}
html[data-ot-theme="dark"] .ot-login-screen{background:linear-gradient(135deg,#020914,#071827 48%,#04111d)!important}
html[data-ot-theme="dark"] .ot-login-card{background:#071827!important;color:#f3f8fd!important}
html[data-ot-theme="dark"] .ot-brand-line.compact{color:#c4d7e6!important}
html[data-ot-theme="dark"] .ot-section-heading h2,
html[data-ot-theme="dark"] .ot-summary-card strong,
html[data-ot-theme="dark"] .ot-test-card h3,
html[data-ot-theme="dark"] .ot-card-heading h2,
html[data-ot-theme="dark"] .ot-dialog-head h2,
html[data-ot-theme="dark"] .ot-review-title h2,
html[data-ot-theme="dark"] .ot-review-question,
html[data-ot-theme="dark"] .ot-question-text,
html[data-ot-theme="dark"] .ot-option-text,
html[data-ot-theme="dark"] .ot-palette-heading,
html[data-ot-theme="dark"] .ot-result-summary h2{color:#f3f8fd!important}
html[data-ot-theme="dark"] :is(.ot-muted,.ot-summary-card span,.ot-test-card p,.ot-test-detail-r300,.ot-r305-filter-result,.ot-result-summary p,.ot-review-title p,.ot-marks-line,.ot-save-status,.ot-palette-student small,.ot-dialog-summary span){color:#b5c8d8!important}
html[data-ot-theme="dark"] .ot-eyebrow{color:#72d4ff!important}

/* Dashboard filters and form controls. */
html[data-ot-theme="dark"] .ot-r305-filter-field>span,
html[data-ot-theme="dark"] .ot-field span,
html[data-ot-theme="dark"] .ot-integer-box label{color:#d8e7f2!important}
html[data-ot-theme="dark"] .ot-r305-filter-field select,
html[data-ot-theme="dark"] .ot-field input,
html[data-ot-theme="dark"] .ot-integer-box input{
  background:#0a2239!important;
  color:#fff!important;
  border-color:#45657e!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-ot-theme="dark"] .ot-r305-filter-field select option{background:#0a2239!important;color:#fff!important}
html[data-ot-theme="dark"] :is(.ot-r305-filter-field select,.ot-field input,.ot-integer-box input):focus{background:#0d2a44!important;border-color:#68cfff!important;box-shadow:0 0 0 3px rgba(91,199,255,.18)!important}
html[data-ot-theme="dark"] .ot-check-row{color:#c4d7e6!important}

/* Buttons remain readable in both themes. */
html[data-ot-theme="dark"] .ot-btn-light,
html[data-ot-theme="dark"] .ot-icon-btn{background:#0b263e!important;color:#eaf7ff!important;border-color:#365973!important}
html[data-ot-theme="dark"] .ot-btn-ghost{background:#0b2b47!important;color:#eaf7ff!important}
html[data-ot-theme="dark"] .ot-btn-review{background:#2c1d46!important;color:#e8d7ff!important;border:1px solid #654793!important}
html[data-ot-theme="dark"] .ot-btn-submit{background:#0b6f75!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-btn:disabled{opacity:.58!important}

/* Dashboard cards and state pills. */
html[data-ot-theme="dark"] .ot-student-card{background:linear-gradient(145deg,#071b2f,#0b5f96)!important;box-shadow:none!important}
html[data-ot-theme="dark"] .ot-test-meta span{background:#0b2a45!important;border-color:#31536d!important;color:#d6e7f4!important}
html[data-ot-theme="dark"] .ot-state-available{background:#103b31!important;color:#8ff0c0!important}
html[data-ot-theme="dark"] .ot-state-in_progress{background:#0d3150!important;color:#94d8ff!important}
html[data-ot-theme="dark"] .ot-state-completed{background:#2d2147!important;color:#d7c2ff!important}
html[data-ot-theme="dark"] .ot-state-upcoming{background:#403311!important;color:#ffdc7a!important}
html[data-ot-theme="dark"] .ot-state-closed{background:#1a2b3a!important;color:#c5d3de!important}

/* Examination screen: every reading surface has paired foreground/background colors. */
html[data-ot-theme="dark"] .ot-exam-screen{background:#020914!important;color:#f3f8fd!important}
html[data-ot-theme="dark"] .ot-exam-header{background:#061827!important;color:#fff!important;border-bottom:1px solid #29465e!important;box-shadow:0 8px 26px rgba(0,0,0,.32)!important}
html[data-ot-theme="dark"] .ot-chip{background:#dff3ff!important;color:#063d63!important}
html[data-ot-theme="dark"] .ot-exam-meta{color:#bbd6ea!important}
html[data-ot-theme="dark"] .ot-timer-card{background:#0c2b46!important;color:#f4f9ff!important;border:1px solid #365973!important}
html[data-ot-theme="dark"] .ot-question-time-card{background:#0b3854!important;color:#e9f8ff!important;border-color:#3f718e!important}
html[data-ot-theme="dark"] .ot-timer-card.warning{background:#4a390b!important;color:#ffe18b!important;border-color:#866b26!important}
html[data-ot-theme="dark"] .ot-timer-card.danger{background:#4b1f24!important;color:#ffb3ae!important;border-color:#86444a!important}
html[data-ot-theme="dark"] .ot-progress-track{background:#1a3042!important}
html[data-ot-theme="dark"] .ot-progress-track span{background:#5bc7ff!important}
html[data-ot-theme="dark"] .ot-question-number{color:#73d4ff!important}
html[data-ot-theme="dark"] .ot-question-kind{background:#102b42!important;color:#c5d8e7!important}
html[data-ot-theme="dark"] .ot-option{background:#0a2033!important;color:#f3f8fd!important;border-color:#31516a!important}
html[data-ot-theme="dark"] .ot-option:hover{background:#0d2942!important;border-color:#5590b7!important}
html[data-ot-theme="dark"] .ot-option.selected{background:#0d3555!important;border-color:#65ceff!important;box-shadow:0 0 0 2px rgba(91,199,255,.16)!important}
html[data-ot-theme="dark"] .ot-option-key{background:#12314a!important;color:#e7f5ff!important}
html[data-ot-theme="dark"] .ot-palette-student{background:#0b2a45!important;color:#f3f8fd!important}
html[data-ot-theme="dark"] .ot-palette-btn{background:#0a2033!important;color:#dceaf4!important;border-color:#3c5a70!important}
html[data-ot-theme="dark"] .ot-palette-btn.answered{background:#123d30!important;color:#91efc0!important;border-color:#317157!important}
html[data-ot-theme="dark"] .ot-palette-btn.review{background:#30224c!important;color:#d9c2ff!important;border-color:#674d8e!important}
html[data-ot-theme="dark"] .ot-palette-btn.current{border-color:#6bd2ff!important;box-shadow:0 0 0 3px rgba(91,199,255,.20)!important}
html[data-ot-theme="dark"] .ot-palette-btn.review.answered{background:linear-gradient(135deg,#123d30 50%,#30224c 50%)!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-palette-legend{color:#c2d3e0!important}
html[data-ot-theme="dark"] .ot-palette-legend i{border-color:#5d7385!important}
html[data-ot-theme="dark"] .ot-palette-legend i.answered{background:#123d30!important;border-color:#317157!important}
html[data-ot-theme="dark"] .ot-palette-legend i.review{background:#30224c!important;border-color:#674d8e!important}

/* Subject navigation during the exam. */
html[data-ot-theme="dark"] .ot-subject-tabs-shell{background:#061725!important;border-color:#29465e!important;box-shadow:none!important}
html[data-ot-theme="dark"] .ot-subject-tab{background:#0b263e!important;color:#dceaf4!important;border-color:#365973!important}
html[data-ot-theme="dark"] .ot-subject-tab:hover{background:#0e3250!important;border-color:#5b9bc5!important}
html[data-ot-theme="dark"] .ot-subject-tab.active{background:#0d78b6!important;border-color:#57c7ff!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-subject-tab small{background:#183c56!important;color:#d9eaf6!important}
html[data-ot-theme="dark"] .ot-subject-tab.active small{background:rgba(255,255,255,.18)!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-question-subject{background:#0d3150!important;color:#a8e0ff!important}

/* Dialogs / instructions. */
html[data-ot-theme="dark"] .ot-dialog-head,
html[data-ot-theme="dark"] .ot-dialog-actions{border-color:#29465e!important}
html[data-ot-theme="dark"] .ot-dialog-body{color:#d8e6f0!important}
html[data-ot-theme="dark"] .ot-dialog-close{background:#102b42!important;color:#f1f8fd!important}
html[data-ot-theme="dark"] .ot-dialog-summary div{background:#0b2a45!important;color:#f4f9ff!important;border:1px solid #31536d!important}

/* Result / analysis contrast. Green and yellow meanings are retained in dark mode. */
html[data-ot-theme="dark"] .ot-score-main{color:#78d6ff!important}
html[data-ot-theme="dark"] .ot-result-stat{background:#0b263e!important;border-color:#31536d!important;color:#f3f8fd!important}
html[data-ot-theme="dark"] .ot-result-stat span{color:#b9cbda!important}
html[data-ot-theme="dark"] .ot-result-stat.partial{background:#3e3211!important;border-color:#7d6723!important}
html[data-ot-theme="dark"] .ot-result-stat.partial span,
html[data-ot-theme="dark"] .ot-result-stat.partial strong{color:#ffe18a!important}
html[data-ot-theme="dark"] .ot-review-legend{background:#0b263e!important;border-color:#31536d!important;color:#d8e6f0!important}
html[data-ot-theme="dark"] .ot-review-question-head{border-color:#29465e!important}
html[data-ot-theme="dark"] .ot-review-meta{background:#102b42!important;color:#c7d8e5!important}
html[data-ot-theme="dark"] .ot-review-status-wrap>strong{color:#dce9f3!important}
html[data-ot-theme="dark"] .ot-review-status.correct{background:#123d30!important;color:#91efc0!important}
html[data-ot-theme="dark"] .ot-review-status.wrong{background:#4b1f24!important;color:#ffaaa4!important}
html[data-ot-theme="dark"] .ot-review-status.unanswered{background:#1b2e3e!important;color:#c3d2de!important}
html[data-ot-theme="dark"] .ot-review-option{background:#0a2033!important;color:#f3f8fd!important;border-color:#31516a!important}
html[data-ot-theme="dark"] .ot-review-option-key{background:#12314a!important;color:#e6f4ff!important}
html[data-ot-theme="dark"] .ot-review-option-correct{background:#10392d!important;border-color:#388161!important;color:#e9fff3!important}
html[data-ot-theme="dark"] .ot-review-option-correct .ot-review-option-key{background:#18533f!important;color:#baffd9!important}
html[data-ot-theme="dark"] .ot-review-option-student{background:#483b12!important;border-color:#8d752e!important;color:#fff3bd!important}
html[data-ot-theme="dark"] .ot-review-option-student .ot-review-option-key{background:#6b5617!important;color:#fff2a8!important}
html[data-ot-theme="dark"] .ot-review-option-correct-selected{background:#126544!important;border-color:#49a57b!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-review-not-attempted{background:#162a3b!important;color:#c1d2df!important}
html[data-ot-theme="dark"] .ot-review-was-marked{color:#d6bfff!important}
html[data-ot-theme="dark"] .ot-review-subject-heading{background:#0b3155!important;border:1px solid #31536d!important;color:#fff!important}
html[data-ot-theme="dark"] .ot-review-time{background:#102b42!important;color:#d7e7f2!important}

/* Worked solutions. */
html[data-ot-theme="dark"] .ot-worked-solution{background:#081d30!important;border-color:#31536d!important;color:#f3f8fd!important}
html[data-ot-theme="dark"] .ot-worked-solution-head{background:#0d3150!important;border-color:#31536d!important}
html[data-ot-theme="dark"] .ot-worked-solution-head span{color:#a9dfff!important}
html[data-ot-theme="dark"] .ot-worked-solution-head strong{color:#f4f9ff!important}
html[data-ot-theme="dark"] .ot-worked-solution-body{color:#e5f0f8!important}

/* Formula / diagram images keep a white paper behind them, intentionally.
   This prevents black equations or transparent PNG diagrams disappearing in dark mode. */
html[data-ot-theme="dark"] :is(.ot-rich-inline-image,.ot-rich-inline-equation,.ot-question-image,.ot-option-image){background:#fff!important;border-radius:5px}

/* Math review warning remains high contrast. */
html[data-ot-theme="dark"] .ot-math-review{background:#4a390b!important;color:#ffe18b!important;border-color:#8a6d25!important}

/* Mobile exam header: theme selector remains reachable without crushing timers/title. */
@media(max-width:760px){
  .ot-theme-choice{min-height:32px;padding:5px 7px}.ot-theme-choice b{display:none}.ot-theme-choice span{font-size:16px}
  .ot-exam-tools{display:grid;grid-template-columns:auto;justify-items:end;gap:4px}
  .ot-theme-switch-exam{padding:2px;border-radius:9px}
  .ot-theme-switch-exam .ot-theme-choice{width:29px;min-height:24px;padding:3px}
  .ot-theme-switch-exam .ot-theme-choice span{font-size:13px}
  .ot-top-actions{gap:6px}
}
@media(max-width:620px){
  .ot-exam-title-wrap h1{max-width:42vw!important}
  .ot-exam-tools{max-width:190px}
  .ot-theme-switch{border-radius:10px}
}
@media(max-width:390px){
  .ot-exam-tools{max-width:178px}
  .ot-theme-switch-exam .ot-theme-choice{width:26px}
  .ot-exam-title-wrap h1{max-width:37vw!important}
}

/* R319 contrast completion for transient/status text. */
html[data-ot-theme="dark"] .ot-save-status.saving{color:#ffd36b!important}
html[data-ot-theme="dark"] .ot-save-status.saved{color:#76e5b3!important}
html[data-ot-theme="dark"] .ot-save-status.error{color:#ff928b!important}
html[data-ot-theme="dark"] .ot-global-notice{background:#421d22!important;color:#ffd7d3!important;border-color:#83444a!important}
html[data-ot-theme="dark"] .ot-result-icon{background:#123d30!important;color:#91efc0!important}
html[data-ot-theme="dark"] .ot-review-option-correct .ot-review-answer-note{color:#9cf2c6!important}
html[data-ot-theme="dark"] .ot-review-option-student .ot-review-answer-note{color:#ffe18a!important}
html[data-ot-theme="dark"] .ot-review-option-correct-selected .ot-review-answer-note{color:#fff!important}


/* EDUHUNT OLT R340 · Student SSO explicit logout icon */
.ot-explicit-logout-btn{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:#b4232c;
  border-color:#e6aeb3;
  background:#fff;
}
.ot-explicit-logout-btn[hidden]{display:none!important}
.ot-explicit-logout-btn svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ot-explicit-logout-btn:hover{
  background:#fff1f2;
  border-color:#d9777f;
  color:#971923;
}
html[data-ot-theme="dark"] .ot-explicit-logout-btn{
  background:#201015!important;
  color:#ff9ca3!important;
  border-color:#71353d!important;
}
html[data-ot-theme="dark"] .ot-explicit-logout-btn:hover{
  background:#32151c!important;
  color:#ffc1c5!important;
  border-color:#9f4b55!important;
}
@media(max-width:620px){
  .ot-top-actions{gap:6px}
  .ot-explicit-logout-btn{
    width:40px;
    height:40px;
    border-radius:11px;
  }
  .ot-explicit-logout-btn svg{
    width:20px;
    height:20px;
  }
}


/* EDUHUNT OLT R343 · Principal/Teacher practice identity */
.ot-staff-practice-label{
  margin:5px 0 0!important;
  color:#dcefff!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.03em;
}
html[data-ot-theme="light"] .ot-staff-practice-label{color:#e9f5ff!important}
@media(max-width:620px){
  .ot-staff-practice-label{font-size:9px!important;line-height:1.3!important}
}
