@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#173b3b;--muted:#667b78;--line:#dce5df;--green:#186954;--mint:#e2efe6;--bg:#f6f8f3;--orange:#bc6b3b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',system-ui,sans-serif}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{font-size:44px;letter-spacing:-1.8px;line-height:1.15;margin:16px 0}h2{font-size:25px;letter-spacing:-.7px}h3{font-size:18px}p{line-height:1.65}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:11px 17px;background:white;color:var(--ink);font-weight:600}button:hover{border-color:var(--green);background:#eef5ef}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #d38d4f;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#124d3f;color:white}.subtle{background:transparent}header{height:92px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 36px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:19px;font-weight:800}.brand small{font-size:9px;letter-spacing:2px;display:block;margin-top:3px}.logo{background:var(--green);color:white;border-radius:12px;padding:9px;font-size:24px}.logo span{color:#b6d5a1}nav{display:flex;gap:8px}nav button{border:none;background:none;font-size:13px}.private{font-size:11px;color:var(--green)}main{max-width:1168px;margin:0 auto;padding:45px 24px 65px;min-height:75vh}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--green)}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;margin-bottom:34px}.hero p{max-width:550px}.exam-note{background:#ebf0e5;border:1px solid #dce5d4;border-radius:18px;padding:24px;display:flex;gap:20px;align-items:center}.date{background:white;border-radius:12px;padding:12px 20px;text-align:center}.date strong{display:block;font-size:32px}.date span{font-size:10px;letter-spacing:2px}.exam-note h3{margin:0 0 8px}.exam-note p{font-size:13px;margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:26px}.action{position:relative;min-height:220px}.action h2{margin:18px 0 8px}.action p{font-size:14px;max-width:430px;margin-bottom:24px}.action.featured{background:var(--green);color:white;border-color:var(--green)}.action.featured .muted{color:#d4e5d8}.action.featured button{background:#e6f0d9;border-color:#e6f0d9;color:#154b3b}.icon{display:inline-flex;border:1px solid #ffffff50;border-radius:10px;padding:8px;font-size:20px}.tag{font-size:10px;letter-spacing:1px;border-radius:20px;background:#ffffff22;padding:6px 10px;float:right}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:34px;margin-bottom:16px}.section-head h2{font-size:20px;margin:0}.chapter{border-top:3px solid #7da58a}.chapter.digestive{border-top-color:#c19372}.chapter h3{margin:12px 0}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.chapter button{width:100%;margin-top:16px}.bar{height:7px;background:#e8eee7;border-radius:20px;overflow:hidden;margin:14px 0}.bar>span{height:100%;display:block;background:#4b8a68}.num{font-size:30px;font-weight:700;letter-spacing:-1px}.label{font-size:12px;color:var(--muted)}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.stat{padding:18px;border-left:1px solid var(--line)}.stat:first-child{border-left:0}footer{border-top:1px solid var(--line);padding:25px;max-width:1168px;margin:auto;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:15px}.back{margin-bottom:22px;font-size:13px}.form-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}input,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}input[type=checkbox]{width:auto;margin-right:7px}.presets{display:flex;gap:7px;flex-wrap:wrap}.presets button{padding:8px 13px}.selected{background:var(--mint);border-color:var(--green)}.warning{padding:14px;border-radius:10px;background:#fff1df;color:#825122;line-height:1.6;margin:16px 0}.success{background:#e2f1e5;color:#225e3f;padding:15px;border-radius:10px;margin:15px 0}.question-wrap{max-width:860px;margin:auto}.qhead{margin:24px 0;font-size:24px;line-height:1.5;letter-spacing:-.4px}.answer{display:flex;width:100%;text-align:left;gap:15px;padding:17px;margin:12px 0;align-items:center;line-height:1.5;font-weight:400}.letter{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;background:#edf2ed;border-radius:7px;font-size:12px;font-weight:700}.answer.chosen{border:2px solid var(--green);background:#edf6ef;padding:16px}.answer.correct{border-color:#3d925c;background:#e4f3e7}.answer.wrong{border-color:#c87965;background:#fff1eb}.explain{border-left:3px solid #7a9e80;padding:4px 18px;margin:20px 0;line-height:1.65}.rationale{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.source{font-size:12px;color:var(--muted);margin-top:15px}.question-map{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.question-map button{font-size:11px;padding:6px;min-width:30px}.question-map .answered{background:var(--mint)}.question-map .flagged{border-color:#c68731}.question-map .current{outline:2px solid var(--green)}.pill{font-size:11px;padding:5px 9px;background:var(--mint);border-radius:20px}.review-card{margin:20px 0}.review-card h3{line-height:1.5}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 8px}.chart{height:130px;display:flex;align-items:flex-end;gap:10px;margin-top:25px}.chart div{flex:1;background:#8eb59a;min-height:4px;border-radius:5px 5px 0 0;position:relative}.chart span{position:absolute;top:-22px;width:100%;text-align:center;font-size:11px}.table-scroll{overflow:auto}.hidden{display:none}@media(max-width:760px){header{height:auto;min-height:85px;padding:16px 20px;flex-wrap:wrap;gap:15px}.private{display:none}nav{gap:0}nav button{padding:7px;font-size:11px}.hero{grid-template-columns:1fr;gap:15px}h1{font-size:34px}.grid2,.grid3,.form-grid{grid-template-columns:1fr}.statrow{grid-template-columns:1fr 1fr}.stat{border:none;padding:12px}main{padding:28px 18px}.card{padding:21px}.qhead{font-size:21px}footer{flex-direction:column}.exam-note{padding:17px}.action{min-height:0}.section-head{gap:12px}.section-head button{font-size:12px}.chart{gap:5px}}
.answer:disabled{opacity:1;cursor:default}.answer:disabled:hover{background:inherit}.answer.correct:disabled:hover{background:#e4f3e7}.answer.wrong:disabled:hover{background:#fff1eb}
/* Accessible feedback and responsive upgrade */
:root{--surface:#fff;--correct-bg:#e2f3e8;--correct-ink:#18512e;--correct-line:#348450;--wrong-bg:#ffebe9;--wrong-ink:#8e2525;--wrong-line:#c34646}
[data-theme=dark]{--ink:#e4eee9;--muted:#a7bcb4;--line:#3a514a;--green:#83c6a6;--mint:#263f35;--bg:#12221c;--surface:#1b2e26;--correct-bg:#183b28;--correct-ink:#b6f2c5;--correct-line:#69ba83;--wrong-bg:#422424;--wrong-ink:#ffc5bd;--wrong-line:#e98b84}
body{background:var(--bg);color:var(--ink)}.card,button,input,select,textarea,.date{background:var(--surface);color:var(--ink)}.primary{background:#186954;color:#fff}.featured{background:#186954!important;color:white}.answer.chosen{border:2px solid #668fbd;background:#e8f0fa;color:#173b3b}.answer.correct,.rationale.correct,.answer.correct:disabled:hover{background:var(--correct-bg);border:2px solid var(--correct-line);color:var(--correct-ink)}.answer.wrong,.rationale.wrong,.answer.wrong:disabled:hover{background:var(--wrong-bg);border:2px solid var(--wrong-line);color:var(--wrong-ink)}.rationale{border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0}.rationale p{font-weight:600;margin:7px 0}.explain{border-left:0;padding:0}.feedback-label{display:block;margin-top:8px;font-size:13px}.correct-text{color:var(--correct-ink)}.wrong-text{color:var(--wrong-ink)}.result-counts{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0}.guest-banner{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--mint);margin-bottom:30px;font-size:13px;line-height:1.7}.quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.quiz-nav{position:sticky;bottom:0;background:var(--bg);padding:14px 0;z-index:3;border-top:1px solid var(--line)}button{min-height:44px}.question-map button{min-width:44px;min-height:44px}.note-item{display:block;width:100%;text-align:left;margin:12px 0}.note-item span{display:block;font-size:12px;font-weight:400;margin-top:6px;color:var(--muted)}textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;margin-top:12px;font:inherit;line-height:1.7;resize:vertical}.note-list{padding-left:16px}.exam-note{background:var(--mint)}.letter{background:var(--mint);color:var(--ink)}.success{background:var(--correct-bg);color:var(--correct-ink)}[data-theme=dark] button:hover{background:#304b3e;color:var(--ink)}[data-theme=dark] .answer.chosen{background:#233c51;color:#e6f0fa}[data-theme=dark] .warning{background:#46351e;color:#f3d7aa}[data-theme=dark] .answer.correct{background:var(--correct-bg);color:var(--correct-ink)}[data-theme=dark] .answer.wrong{background:var(--wrong-bg);color:var(--wrong-ink)}[data-theme=dark] .bar{background:#32483d}[data-theme=dark] .primary{background:#226f52;color:white}header{height:auto;min-height:92px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}nav{flex-wrap:wrap}.private{font-size:10px}summary{cursor:pointer;padding:12px 0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c68b41;outline-offset:2px}.answer:disabled{opacity:1}
@media(max-width:760px){.guest-banner{align-items:flex-start;flex-direction:column}.quick-actions button{width:100%;text-align:left}nav{width:100%;justify-content:space-between}nav button{min-height:44px;font-size:12px}.quiz-nav button{min-width:44%;font-size:13px}.private{display:none}.hero{gap:18px}.question-wrap .row{gap:8px}header{padding:15px 18px}.qhead{font-size:21px}.answer{padding:15px;gap:10px}.answer.chosen{padding:14px}}
/* Blue palette and progress-bar visual polish; quiz behavior is unchanged. */
:root{--ink:#172b49;--muted:#596d87;--line:#d9e3f0;--green:#215bc4;--mint:#eaf2ff;--bg:#f5f8fd;--surface:#fff;--blue-hover:#17469c}
[data-theme=dark]{--ink:#e7efff;--muted:#acbdd7;--line:#354963;--green:#88b6ff;--mint:#213754;--bg:#101c2d;--surface:#19283e;--blue-hover:#285dc3}
body{background:radial-gradient(ellipse at 90% 0%,#e6efff 0,transparent 42%),var(--bg)}
header{border-bottom-color:var(--line)}
.logo{background:linear-gradient(145deg,#3979e5,#174aa8);box-shadow:0 5px 14px #215bc422}.logo span{color:#c9e3ff}
button:hover{background:#edf4ff;border-color:#7ea5e7}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#3979e5}
.primary,.featured{background:#215bc4!important;color:#fff;border-color:#215bc4}
.primary:hover{background:#17469c!important;border-color:#17469c}
.action.featured{background:linear-gradient(125deg,#174aa8,#2868d6)!important;box-shadow:0 8px 24px #215bc420}
.action.featured .muted{color:#e1ecff}
.action.featured button{background:#f0f6ff;border-color:#f0f6ff;color:#17469c}
.action.featured button:hover{background:#dceaff;border-color:#dceaff}
.card{box-shadow:0 4px 18px #19365f06}
.exam-note{background:linear-gradient(130deg,#edf4ff,#e2edff);border-color:#ccdcf5}
.guest-banner{background:#edf4ff;border-color:#ccdcf5}
.chapter{border-top-color:#4283e2}.chapter.digestive{border-top-color:#789ce7}
.selected{background:#e5efff;border-color:#215bc4}
.answer.chosen{background:#e8f1ff;border-color:#215bc4;color:#172b49}
.question-map .answered{background:#dfebff}.question-map .current{outline-color:#215bc4}
.chart div{background:linear-gradient(0deg,#245ab9,#72a8fa)}
.bar{height:11px;background:#e1eafa;border:1px solid #d1def3;border-radius:999px;box-shadow:inset 0 1px 2px #19365f0d}
.bar>span{background:linear-gradient(90deg,#215bc4,#4387ed);border-radius:999px;box-shadow:0 0 8px #4387ed25}
.question-wrap>.bar{height:15px;margin:16px 0 24px;box-shadow:inset 0 1px 3px #19365f10,0 2px 6px #215bc408}
.question-wrap>.section-head .label{color:var(--ink);font-weight:700;letter-spacing:.35px}
.quiz-nav{box-shadow:0 -8px 20px #172b4905}
[data-theme=dark] body{background:radial-gradient(ellipse at 90% 0%,#1b3152 0,transparent 42%),var(--bg)}
[data-theme=dark] button:hover{background:#273e60;color:var(--ink)}
[data-theme=dark] .primary{background:#2865d2!important;color:#fff}
[data-theme=dark] .primary:hover{background:#3476e5!important}
[data-theme=dark] .exam-note,[data-theme=dark] .guest-banner{background:#203553;border-color:#3b5579}
[data-theme=dark] .selected,[data-theme=dark] .question-map .answered{background:#284672;border-color:#88b6ff}
[data-theme=dark] .answer.chosen{background:#244574;border-color:#88b6ff;color:#e7efff}
[data-theme=dark] .bar{background:#253a59;border-color:#3c567b}
[data-theme=dark] .bar>span{background:linear-gradient(90deg,#4387ed,#8cbcff)}
/* Correct/incorrect feedback keeps its semantic colors in both themes. */
.answer.correct,.answer.correct:disabled:hover{background:var(--correct-bg);border-color:var(--correct-line);color:var(--correct-ink)}
.answer.wrong,.answer.wrong:disabled:hover{background:var(--wrong-bg);border-color:var(--wrong-line);color:var(--wrong-ink)}
@media(max-width:760px){.question-wrap>.bar{height:13px;margin:14px 0 20px}.question-wrap>.section-head .label{font-size:11px}}
.success{background:var(--mint);color:var(--ink);border:1px solid var(--line)}
[data-theme=dark] .answer.correct{background:var(--correct-bg);border-color:var(--correct-line);color:var(--correct-ink)}
[data-theme=dark] .answer.wrong{background:var(--wrong-bg);border-color:var(--wrong-line);color:var(--wrong-ink)}
