:root{color-scheme:light;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:#f0f5f9;color:#183452}
*{box-sizing:border-box}body{margin:0}.app{width:min(850px,100%);margin:auto;padding:20px 16px 65px}.hero{border-radius:21px;background:linear-gradient(120deg,#142e54,#117b83);color:#fff;padding:30px}.eyebrow{letter-spacing:.11em;font-size:11px;font-weight:750;color:#ceecf0}.hero h1{font-size:clamp(27px,5vw,40px);line-height:1.2;margin:12px 0 7px}.hero p{margin:0 0 20px;color:#d7eaf0}.tag{font-size:12px;letter-spacing:.08em;border:1px solid #9ad3de;border-radius:100px;padding:6px 12px}.panel{background:white;border:1px solid #dae5ee;border-radius:20px;padding:clamp(20px,5vw,34px);margin:17px 0;box-shadow:0 7px 24px #16385a0a}.panel[hidden],[hidden]{display:none!important}h2{font-size:22px;line-height:1.4;margin:0 0 13px}h3{font-size:18px;margin:10px 0}.subtle{color:#60768b}.small{font-size:13px}.danger{color:#b3263e}.between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:22px 0 15px}button{background:#176e9b;border:0;border-radius:11px;color:#fff;cursor:pointer;padding:12px 19px;font:inherit;font-weight:700}button:disabled{opacity:.42;cursor:not-allowed}.muted-button{background:#e9f1f8;color:#265b7e}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,input:focus-visible{outline:3px solid #60c2cb;outline-offset:3px}label{display:block;font-weight:650;margin-bottom:6px}input[type=password],input[type=email],input[type=text],input[type=number],input[type=datetime-local],textarea,select{width:100%;padding:12px 14px;font:inherit;border:1.5px solid #baccda;border-radius:10px;margin:5px 0 14px}input[type=radio]{accent-color:#176e9b;margin-top:6px;flex-shrink:0}.note{background:#f0f8fb;border-left:3px solid #22a2b1;padding:13px;border-radius:4px;color:#356879;font-size:13px;margin-top:20px}.error{background:#fff4f5}.notice{padding:13px;border-radius:8px}.exam-tile{border:1px solid #dfe9ef;padding:18px;border-radius:13px;margin:13px 0}.pill{background:#e5f4f6;border-radius:25px;padding:6px 11px;font-weight:700;font-size:12px;color:#207082}.countdown{font-size:22px;color:#0c797a;font-variant-numeric:tabular-nums;font-weight:800}.countdown.urgent{color:#b33043}.progress{height:8px;background:#e2ecf3;border-radius:10px;overflow:hidden;margin:20px 0}.progress>div{height:100%;width:0;background:#1e9291}.question{font-size:20px;margin:18px 0}.answer-option{display:flex;align-items:flex-start;gap:12px;border:1.5px solid #dce7ee;border-radius:13px;padding:13px 14px;margin:10px 0;cursor:pointer;font-weight:400}.answer-option:hover{border-color:#9ac4d9;background:#f4fafc}.answer-option.selected{border-color:#2e83ad;background:#eef8fd}.answer-option span{flex:1}.score{font-size:52px;font-weight:800;color:#0d8275}.review{border-top:1px solid #e3ebf1;padding:17px 0}.modal-shade{position:fixed;inset:0;background:#10283cc9;display:flex;align-items:center;justify-content:center;padding:16px;z-index:30}.modal{background:#fff;border-radius:19px;padding:26px;max-width:490px;width:100%;box-shadow:0 20px 65px #11273c45}.modal .actions{margin-bottom:0}footer{text-align:center;font-size:12px;color:#71879a}footer a{color:#1a7393}@media(max-width:500px){.app{padding:9px 10px 45px}.hero{padding:22px}.panel{padding:19px}.actions button{flex:1}.question{font-size:18px}}

fieldset{border:1px solid #cadae7;border-radius:12px;padding:15px;margin:20px 0}fieldset legend{font-weight:700;padding:0 8px}fieldset label:has(input[type=checkbox]){display:block;margin:8px 0}fieldset input[type=checkbox]{width:auto;margin-inline-end:8px}

/* Best-effort exam deterrent only; does not stop other devices or browser translation. */
#attempt .question,#attempt .answer-option span{user-select:none;-webkit-user-select:none}
#fullscreenLock{border:2px solid #bf3544;margin:18px 0;background:#fff1f3}

/* Exam navigation and long MCQ text remain usable on small screens. */
.attempt-toolbar{position:sticky;top:0;z-index:5;background:#fff;padding:10px 0;border-bottom:1px solid #e1eaf1}
.attempt-toolbar .pill{flex:1;min-width:0;overflow-wrap:anywhere}
.attempt-toolbar .countdown{flex-shrink:0}
#options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#options .answer-option{margin:0;min-height:58px}
.answer-option span,.question,.review,.exam-tile,.note{overflow-wrap:anywhere;min-width:0}
.question-map{margin-top:16px;border:1px solid #dae5ee;border-radius:12px;padding:12px}
.question-map summary{cursor:pointer;font-weight:650}
#questionNav{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.question-jump{min-width:44px;min-height:44px;padding:9px;background:#eef3f8;color:#294e70;border:2px solid transparent}
.question-jump.answered{background:#dff4ed;color:#14614f}
.question-jump[aria-current]{border-color:#176e9b;box-shadow:0 0 0 1px #176e9b}
.correct-answer{color:#14614f;font-weight:700;background:#e8f6ef;padding:10px;border-radius:8px}
.modal{max-height:calc(100dvh - 32px);overflow-y:auto}
summary:focus-visible,a:focus-visible{outline:3px solid #60c2cb;outline-offset:3px}
.course-grid,.lecture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.course-card,.lecture-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:start;min-width:0;padding:20px;background:#f7fbfd;color:#183452;border:1.5px solid #d5e5ed;border-radius:16px;overflow-wrap:anywhere;white-space:normal}
.course-card:hover,.lecture-card:hover{border-color:#198b94;box-shadow:0 5px 15px #16385a12}
.course-code{font-size:12px;font-weight:800;letter-spacing:.05em;background:#e0f1f1;color:#156d74;padding:5px 9px;border-radius:7px}
.course-title{font-size:18px;line-height:1.4;font-weight:750;flex:1}
.course-count{font-size:12px;color:#42657d;font-weight:600;border-top:1px solid #dce9ef;padding-top:10px;width:100%}
.course-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;overflow-wrap:anywhere}
.course-breadcrumb button{font-size:13px;padding:9px 12px;min-height:44px}
.course-heading{overflow-wrap:anywhere;scroll-margin-top:12px}.unassigned-exams{border-top:1px solid #dae5ee;margin-top:25px;padding-top:20px}
.exam-tile h4{font-size:18px;margin:0 0 10px}
@media(max-width:560px){.course-grid,.lecture-grid{grid-template-columns:minmax(0,1fr)}.course-card{padding:17px}.course-title{font-size:17px}}
@media(max-width:650px){#options{grid-template-columns:minmax(0,1fr)}.attempt-toolbar{gap:6px}.actions button{min-height:44px}#attempt{padding:16px}.modal{padding:20px}}
