:root{--navy:#12283d;--teal:#168c8b;--green:#86c51f;--blue:#0877c9;--ink:#13263b;--muted:#667181;--line:#e5e9ed;--bg:#f7f9fb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--teal)}.shell{width:min(1440px,92%);margin:auto}.site-header{height:70px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px #10243a0a}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:190px;max-height:52px;object-fit:contain}.brand span{height:30px;border-left:1px solid #cbd2d9}.brand strong{font-size:18px;color:var(--teal)}nav{display:flex;gap:34px;height:100%;align-items:center}nav a{text-decoration:none;color:var(--navy);font-weight:700;padding:25px 0 21px;border-bottom:3px solid transparent}nav a.active,nav a:hover{color:var(--teal);border-color:var(--teal)}.page{min-height:calc(100vh - 140px)}.dashboard{padding:40px 0}.welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.welcome h1{font-size:32px;margin:0 0 10px}.welcome p{color:var(--muted);font-size:17px;margin:0}.question-count{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 22px;display:flex;gap:14px;align-items:center;box-shadow:0 5px 18px #10243a12}.question-count b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;font-size:25px}.question-count span{display:flex;flex-direction:column}.question-count strong{font-size:20px;color:#65ad16}.question-count small{line-height:1.45}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.mode-card{background:#fff;border:1px solid var(--line);border-top:4px solid;border-radius:12px;padding:27px;box-shadow:0 5px 18px #10243a10}.mode-card.practice{border-top-color:var(--green)}.mode-card.custom{border-top-color:var(--blue)}.mode-card.mock{border-top-color:var(--teal)}.mode-head{display:flex;gap:20px;align-items:center;min-height:105px}.mode-icon{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:#f0f6eb;font-size:43px;flex:0 0 auto}.custom .mode-icon{background:#edf5fc}.mock .mode-icon{background:#e9f5f5}.mode-card h2{font-size:21px;margin:0 0 12px}.practice h2{color:#68b516}.custom h2{color:var(--blue)}.mock h2{color:var(--teal)}.mode-card p,.mode-card li{color:#39485a;line-height:1.55}.mode-card hr{border:0;border-top:1px solid var(--line)}.mode-card ul{list-style:none;padding:3px 0 10px}.mode-card li{margin:10px 0}.mode-card li:before{content:'✓';font-weight:bold;color:inherit;margin-right:10px}.practice li:before{color:var(--green)}.custom li:before{color:var(--blue)}.mock li:before{color:var(--teal)}.btn{display:inline-block;border:0;border-radius:6px;padding:13px 18px;color:#fff!important;text-decoration:none;font-weight:700;cursor:pointer}.green{background:var(--green)}.blue{background:var(--blue)}.teal{background:var(--teal)}.continue{margin:20px 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 15px #10243a0d}.continue>div{display:flex;align-items:center;gap:14px}.continue b{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--teal);color:#fff;font-size:25px}.continue span{display:flex;flex-direction:column}.continue strong{color:var(--teal);font-size:18px}.continue small{margin-top:5px;color:#425165}.attempts h2{font-size:20px}.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto;box-shadow:0 4px 15px #10243a0d}table{width:100%;border-collapse:collapse}th,td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}th{font-size:12px;color:#536071;font-weight:500}.status{padding:7px 15px;border-radius:20px;font-size:12px;font-weight:700}.done{background:#eef8e6;color:#3d8b19}.progressing{background:#fff2c9;color:#d18400}.outline-btn{display:inline-block;border:1px solid #63bfc3;border-radius:5px;padding:7px 14px;text-decoration:none;font-weight:700;font-size:12px}.empty{text-align:center;color:var(--muted);padding:35px}footer{background:#fff;border-top:1px solid var(--line);min-height:70px}.footer-inner{display:flex;justify-content:space-between;align-items:center;min-height:70px;color:#5c6877;font-size:13px}.footer-inner a{margin:0 14px;color:#445163;text-decoration:none}.auth-shell{min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.auth-logo{width:280px;max-width:70%;margin-bottom:25px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 10px 35px #10243a12}.auth-card h1{text-align:center;margin:0 0 8px}.auth-card>p{text-align:center;color:var(--muted)}label{display:block;font-weight:700;font-size:13px;margin:15px 0 7px}input{width:100%;padding:12px 13px;border:1px solid #ccd4dc;border-radius:7px;font-size:15px}form .btn{width:100%;margin-top:20px;font-size:15px}.form-link{text-align:right;margin-top:8px;font-size:13px}.auth-bottom{text-align:center;margin:20px 0 0!important}.notice{padding:11px;border-radius:7px;margin:15px 0}.notice.good{background:#edf8e8;color:#347b19}.notice.bad{background:#fdecec;color:#a52d35}.uppercase{text-transform:uppercase}@media(max-width:900px){.brand strong,.brand span{display:none}nav{gap:14px}nav a{font-size:13px}.mode-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;gap:20px;flex-direction:column}.question-count{width:100%}.footer-inner{padding:20px 0;gap:15px;flex-direction:column}.continue{align-items:flex-start;gap:15px;flex-direction:column}.continue .btn{width:100%;text-align:center}}
.setup-page{padding:46px 0 60px}.setup-heading{text-align:center;max-width:780px;margin:0 auto 30px}.back-link{display:block;text-align:left;text-decoration:none;color:var(--teal);font-weight:700;margin-bottom:22px}.eyebrow{display:inline-block;color:var(--teal);background:#eaf7f6;padding:7px 13px;border-radius:20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.setup-heading h1{font-size:34px;margin:15px 0 10px}.setup-heading p{color:var(--muted);line-height:1.6}.practice-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.count-form{margin:0}.count-card{width:100%;min-height:205px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:13px;box-shadow:0 5px 18px #10243a10;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.2s;color:var(--ink)}.count-card:hover:not(.disabled){transform:translateY(-4px);box-shadow:0 10px 28px #10243a18;border-color:#b8d98a}.count-number{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#eef8e5;color:#64aa19;font-size:34px;font-weight:800;margin-bottom:15px}.count-card strong{font-size:17px}.count-card small{color:var(--muted);margin-top:7px}.count-card.disabled{opacity:.48;cursor:not-allowed}.setup-note{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);padding:16px 20px;border-radius:9px;margin:22px 0;color:#4b5868}.setup-note b{color:var(--teal)}.existing-practice{margin-top:38px}.existing-practice h2{font-size:20px}.existing-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.existing-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.existing-row:last-child{border-bottom:0}.existing-row div{display:flex;flex-direction:column;gap:5px}.existing-row small{color:var(--muted)}.question-placeholder{padding:35px 0 70px}.question-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;color:var(--muted)}.question-topline a{text-decoration:none;font-weight:700}.question-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:38px;box-shadow:0 6px 24px #10243a0e;min-height:390px}.question-card h1{font-size:24px;line-height:1.5;margin-top:20px}.format-pill{display:inline-block;background:#eaf7f6;color:var(--teal);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:800}.question-instructions{color:var(--muted)}.engine-coming{margin-top:35px;background:#f7fafb;border:1px dashed #bfcbd3;border-radius:10px;padding:22px;color:#526070}.engine-coming strong{color:var(--navy)}.question-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px;color:var(--muted);font-size:13px}@media(max-width:900px){.practice-count-grid{grid-template-columns:repeat(2,1fr)}.question-topline{gap:10px;align-items:flex-start;flex-direction:column}}@media(max-width:520px){.practice-count-grid{grid-template-columns:1fr}}
/* ===== Assessly Stage 2B Practice Question Engine ===== */
.question-page{padding:26px 0 45px}.question-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:19px}.end-practice{border:1px solid #ef3340;color:#ef3340;padding:9px 15px;border-radius:7px;text-decoration:none;background:#fff}.progress-row{display:flex;gap:18px;align-items:center;margin-bottom:28px}.progress-track{height:18px;background:#e9eef2;border-radius:20px;overflow:hidden;flex:1}.progress-fill{height:100%;background:linear-gradient(90deg,#078b8d,#13a4a6);border-radius:20px;min-width:22px;display:flex;justify-content:flex-end;align-items:center;color:#fff;font-size:12px;font-weight:700}.progress-fill span{padding:0 8px}.question-card{background:#fff;border:1px solid #dbe3e9;border-radius:12px;box-shadow:0 6px 18px rgba(15,41,65,.06);padding:28px 30px 24px}.annotation-tools{display:flex;justify-content:flex-end;gap:12px;padding-bottom:22px;border-bottom:1px solid #dce4ea}.tool{background:#fff;border:1px solid;padding:10px 16px;border-radius:7px;font-weight:600;font-size:15px}.highlight-tool{color:#f2a000;border-color:#f2a000}.strike-tool{color:#6656c9;border-color:#6656c9}.clear-tool{color:#15263a;border-color:#9ba9b7}.question-text{font-size:20px;line-height:1.55;font-weight:600;color:#102943;padding:28px 0 18px}.question-instructions,.selection-note{color:#607284;margin-bottom:14px}.case-panel{background:#f2fbfb;border-left:4px solid #078b8d;padding:16px 18px;margin-top:22px;border-radius:6px}.case-panel p{margin:8px 0 0;line-height:1.55}.answer-area{border-top:1px solid #dce4ea;padding-top:18px}.answer-option{display:flex;align-items:flex-start;gap:13px;border:1px solid #d7e0e6;border-radius:9px;padding:15px 17px;margin:10px 0;cursor:pointer;font-size:16px;line-height:1.45}.answer-option:hover{border-color:#078b8d;background:#f8fdfd}.answer-option input{margin-top:4px;transform:scale(1.25)}.option-key{font-weight:800;min-width:24px}.dropdown-row,.match-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(250px,1fr);gap:18px;align-items:center;margin:12px 0}.dropdown-row select,.match-row select{padding:11px;border:1px solid #ccd7df;border-radius:7px;background:#fff}.match-row{grid-template-columns:minmax(220px,1fr) 30px minmax(250px,1fr)}.match-left{border:1px solid #d7e0e6;padding:13px;border-radius:8px}.hotspot-wrap{position:relative;text-align:center}.hotspot-wrap img{max-width:100%;border-radius:8px}.hotspot-choice{margin:8px 4px;padding:8px 12px;border:1px solid #078b8d;background:#fff;color:#078b8d;border-radius:6px}.hotspot-choice.chosen{background:#078b8d;color:#fff}.peek-panel{margin-top:20px;background:#f4fae9;border:1px solid #b6da76;border-radius:8px;padding:16px 18px}.peek-panel strong{color:#5b9800}.question-actions{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;margin-top:28px;gap:15px}.action-left{text-align:left}.action-centre{text-align:center;display:flex;justify-content:center;gap:12px}.action-right{text-align:right}.previous-btn,.peek-btn,.review-btn,.next-btn,.btn-review,.btn-finish{border:0;border-radius:7px;padding:11px 18px;font-weight:700;text-decoration:none;display:inline-block}.previous-btn{background:#fff;color:#087b7e;border:1px solid #aebbc5}.peek-btn{background:#79c42a;color:#fff}.review-btn{background:#0d9493;color:#fff}.review-btn.active{box-shadow:0 0 0 3px rgba(13,148,147,.2);background:#087574}.next-btn{background:#4285ef;color:#fff}.summary-card{max-width:780px;margin:55px auto;padding:42px;background:#fff;border:1px solid #dce4ea;border-radius:14px;text-align:center;box-shadow:0 8px 24px rgba(15,41,65,.06)}.summary-card h1{color:#102943}.summary-number{margin:28px auto;display:flex;flex-direction:column}.summary-number strong,.result-score{font-size:60px;color:#078b8d;font-weight:800}.summary-actions{display:flex;justify-content:center;gap:14px}.btn-review{background:#078b8d;color:#fff}.btn-finish{background:#ef3340;color:#fff}.eyebrow{color:#078b8d;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}@media(max-width:760px){.question-card{padding:20px 16px}.annotation-tools{flex-wrap:wrap}.question-actions{grid-template-columns:1fr}.action-left,.action-right{text-align:center}.action-centre{order:-1;flex-wrap:wrap}.dropdown-row,.match-row{grid-template-columns:1fr}.progress-row>span{display:none}}
/* ===== Stage 2B hotfix: question form controls ===== */
.question-card .answer-option{display:flex!important;align-items:flex-start!important;gap:13px!important;margin:10px 0!important;font-weight:400!important}
.question-card .answer-option input[type="radio"],
.question-card .answer-option input[type="checkbox"]{width:auto!important;min-width:auto!important;flex:0 0 auto!important;padding:0!important;margin:4px 0 0!important}
.question-card .dropdown-row label{margin:0!important}
.question-card select{width:100%;font-size:15px}
.question-card .annotation-tools{display:flex!important;justify-content:flex-end!important}
.question-card .tool{width:auto!important;margin-top:0!important}
.question-card .question-actions button{width:auto!important;margin-top:0!important}

/* Stage 2B annotation tools */
.question-text .question-highlight{background:#fff2a8;color:inherit;padding:0 .05em;border-radius:2px;}
.question-text .question-strike{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#6656c9;}


/* Stage 2B hotspot Peek Answer overlay */
.hotspot-wrap{text-align:center}
.hotspot-stage{position:relative;display:inline-block;max-width:100%;line-height:0}
.hotspot-stage img{display:block;max-width:100%;height:auto;border-radius:8px}
.correct-hotspot-overlay{position:absolute;z-index:5;box-sizing:border-box;background:rgba(111,190,0,.28);border:4px solid #6fbe00;box-shadow:0 0 0 3px rgba(255,255,255,.8),0 0 18px rgba(111,190,0,.55);pointer-events:none;animation:hotspotReveal .35s ease-out}
.correct-hotspot-overlay span{position:absolute;left:50%;top:-36px;transform:translateX(-50%);white-space:nowrap;line-height:1;background:#5da500;color:#fff;font-size:13px;font-weight:800;padding:7px 10px;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.15)}
@keyframes hotspotReveal{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}


/* ===== Stage 2B consolidated interaction fixes ===== */
.case-progress-label{display:block;margin-top:4px;color:#078b8d;font-size:13px;font-weight:700}.case-panel{margin:22px 0 6px!important;padding:0!important;border:1px solid #cfe3e4!important;border-left:0!important;overflow:hidden;background:#f8fcfc!important}.case-heading{display:flex;gap:12px;align-items:center;padding:13px 16px;background:#eaf7f6;border-bottom:1px solid #cfe3e4}.case-heading span{font-size:11px;font-weight:800;letter-spacing:.09em;color:#078b8d}.case-heading strong{color:#102943}.case-scenario,.case-instructions{padding:16px 18px;line-height:1.65;color:#263c50}.case-instructions{padding-top:0;color:#607284}.case-media{display:block;max-width:100%;height:auto;margin:0 auto 18px}
.dropdown-question{font-weight:500!important}.inline-dropdown{display:inline-block!important;width:auto!important;min-width:205px!important;max-width:330px;padding:9px 38px 9px 12px!important;margin:3px 8px!important;border:1px solid #9eb0c0!important;border-radius:7px!important;background:#fff!important;font-size:16px!important;vertical-align:middle}.dropdown-answer-area{border-top:1px solid #dce4ea!important;padding-top:18px!important}.dropdown-count{font-size:13px;font-weight:700;color:#66798b}.inline-dropdown.peek-correct{border-color:#6fbe00!important;box-shadow:0 0 0 3px rgba(111,190,0,.16)}
.matching-table{border:1px solid #aebbc5;background:#fff}.matching-head{display:grid;grid-template-columns:30% 26% 44%;background:#f1f3f5;border-bottom:1px solid #aebbc5;font-size:13px;font-weight:800}.matching-head>div{padding:12px 14px;border-right:1px solid #aebbc5}.matching-head>div:last-child{border-right:0}.matching-body{display:grid;grid-template-columns:30% 70%;min-height:360px}.choice-bank{padding:12px;border-right:1px solid #aebbc5;background:#fbfcfd}.drag-choice{display:flex;align-items:center;gap:12px;padding:15px 14px;margin-bottom:10px;border:1px solid #9eafbd;border-radius:4px;background:#fff;font-weight:700;cursor:grab;box-shadow:0 1px 2px rgba(15,41,65,.04)}.drag-choice:active{cursor:grabbing}.drag-choice.dragging{opacity:.45}.drag-handle{color:#7f8e9b;font-size:17px}.target-list{display:flex;flex-direction:column}.match-target-row{display:grid;grid-template-columns:37% 63%;min-height:72px;border-bottom:1px solid #c7d0d7}.match-target-row:last-child{border-bottom:0}.drop-zone{margin:10px;padding:10px;min-height:48px;border:1px dashed #9eafbd;display:flex;align-items:center;justify-content:center;background:#fff}.drop-zone .drag-choice{width:100%;margin:0}.drop-zone.drag-over,.choice-bank.drag-over{background:#eefafa;border-color:#078b8d}.drop-placeholder{color:#728293;font-size:13px}.match-description{display:flex;align-items:center;padding:12px 16px;border-left:1px solid #c7d0d7}.drop-zone.peek-correct-match{border-color:#6fbe00;background:#f4fae9}.matching-help{margin-top:16px;padding:13px 15px;border:1px solid #d7e0e6;background:#f7f9fa;border-radius:6px;font-size:13px;color:#53687a}.matching-help strong{color:#102943}
.hotspot-stage{position:relative!important;display:inline-block!important;max-width:100%}.hotspot-region{position:absolute!important;z-index:3;border:2px solid transparent!important;background:transparent!important;cursor:crosshair!important;padding:0!important;margin:0!important}.hotspot-region:hover{background:rgba(7,139,141,.10)!important;border-color:rgba(7,139,141,.35)!important}.hotspot-region.chosen{background:rgba(7,139,141,.22)!important;border-color:#078b8d!important;box-shadow:0 0 0 3px rgba(255,255,255,.8)}
.learner-highlight{background:#fff19a;padding:1px 0}.learner-strike{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#6656c9}
@media(max-width:800px){.matching-head{grid-template-columns:1fr 1fr 1fr}.matching-body{grid-template-columns:1fr}.choice-bank{border-right:0;border-bottom:1px solid #aebbc5}.match-target-row{grid-template-columns:1fr 1fr}.inline-dropdown{min-width:150px!important;max-width:100%}}

/* ===== Stage 2B clean rebuild: Admin Preview learner renderers ===== */
.learner-options{display:flex;flex-direction:column;gap:11px}.selection-status{margin-top:15px;color:#6b7785;font-size:12px;font-weight:700}
.learner-dropdown{display:inline-block!important;width:auto!important;min-width:180px!important;max-width:300px!important;min-height:42px!important;margin:4px 5px!important;padding:8px 38px 8px 12px!important;border:1px solid #9da9b7!important;border-radius:6px!important;background:#fff!important;color:#202832!important;font-size:14px!important;font-weight:600!important;vertical-align:middle}.dropdown-count.complete{color:#177354}.learner-dropdown.peek-wrong{border-color:#d89b30!important}
.matching-wrapper{width:100%;overflow-x:auto}.matching-grid{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(170px,.8fr) minmax(250px,1.35fr);gap:0;min-width:670px;border:1px solid #b9c0c7;background:#fff}.match-header{padding:11px 13px;background:#f0f1f2;border-bottom:1px solid #b9c0c7;color:#3e474f;font-size:11px;font-weight:700}.match-header:not(:nth-child(3)){border-right:1px solid #b9c0c7}.answer-bank{grid-column:1;grid-row:2/span 20;padding:12px;border-right:1px solid #b9c0c7;background:#fafafa;min-height:100%}.answer-bank-inner{display:flex;flex-direction:column;gap:9px;min-height:100px}.answer-bank.drag-over{background:#eef5fb}.match-choice{position:relative;width:100%;min-height:48px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #9faab4;border-radius:3px;background:#fff;color:#26313a;font-size:12px;font-weight:600;line-height:1.4;cursor:grab;user-select:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}.match-choice:hover{border-color:#1769aa}.match-choice.dragging{opacity:.45}.drag-handle{flex:0 0 auto;width:14px;color:#7b8791;font-size:13px}.drop-zone{min-height:72px;padding:10px;display:flex;align-items:center;justify-content:center;position:relative;border-right:1px solid #b9c0c7;border-bottom:1px solid #c9ced3;background:#f8f8f8}.drop-zone.drag-over{background:#eaf4fb;box-shadow:inset 0 0 0 2px #1769aa}.drop-zone.filled{background:#f4f8fb}.drop-placeholder{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;border:1px dashed #9ca8b2;border-radius:3px;color:#7d8790;font-size:11px;font-weight:600}.drop-zone .match-choice{cursor:grab;border-color:#1769aa;background:#fff}.match-description{min-height:72px;padding:14px 16px;display:flex;align-items:center;border-bottom:1px solid #c9ced3;background:#fff;color:#29323a;font-size:12px;line-height:1.5}.match-choice.selected-choice{border-color:#1769aa;box-shadow:0 0 0 2px rgba(23,105,170,.16);background:#f3f8fc}.match-help,.hotspot-help{margin-top:17px;padding:12px 14px;background:#f5f6f7;border:1px solid #d9dde1;border-radius:4px;color:#5e6872;font-size:11px;line-height:1.55}.match-progress{margin-top:15px;color:#66717c;font-size:11px;font-weight:700}.match-progress.complete{color:#177354}.match-controls{display:flex;justify-content:flex-end;margin-top:12px}.reset-matches{min-height:32px;padding:0 11px;border:1px solid #aeb6bd;border-radius:3px;background:#fff;color:#4d5963;font-size:10px;font-weight:700;cursor:pointer}.drop-zone{flex-direction:column}.correct-match-hint{position:static;width:100%;margin-top:7px;padding:6px 8px;border:1px solid #b9dc82;border-radius:4px;background:#f3f9e8;color:#3f7600;font-size:10px;font-weight:800;line-height:1.3;text-align:center;pointer-events:none}
.learner-image-wrapper{width:100%;display:flex;justify-content:center}.learner-image-stage{position:relative;display:inline-block;max-width:100%;line-height:0;cursor:crosshair;border:1px solid #c2c8ce;background:#f5f5f5;user-select:none;touch-action:manipulation}.learner-image{display:block;max-width:100%;max-height:680px;width:auto;height:auto;pointer-events:none}.click-marker{position:absolute;z-index:6;width:22px;height:22px;margin-left:-11px;margin-top:-11px;display:none;border:3px solid #fff;border-radius:50%;background:#1769aa;box-shadow:0 0 0 2px #1769aa,0 2px 6px rgba(0,0,0,.3);pointer-events:none}.click-marker.visible{display:block}.click-marker:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);border-radius:50%;background:#fff}.answer-status{margin-top:14px;color:#68727c;font-size:11px;font-weight:700}.answer-status.answered{color:#1769aa}
@media(max-width:650px){.learner-dropdown{display:block!important;width:100%!important;max-width:none!important;margin:10px 0!important}}
/* ===== Assessly Custom Test Builder ===== */
.custom-builder{max-width:1180px}.custom-eyebrow{color:var(--blue);background:#edf5fc}.builder-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:20px;box-shadow:0 5px 18px #10243a0d}.builder-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.builder-title>div{display:flex;align-items:center;gap:12px}.builder-title h2{font-size:20px;margin:0}.builder-title p{margin:0;color:var(--muted);font-size:13px}.step-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf5fc;color:var(--blue);font-weight:800}.custom-count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.custom-count-card{position:relative;margin:0!important;min-height:150px;border:1px solid #dce3e9;border-radius:11px;background:#fbfcfd;display:flex!important;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.18s}.custom-count-card input{position:absolute;opacity:0;pointer-events:none}.custom-count-card:has(input:checked){border:2px solid var(--blue);background:#f1f8fd;box-shadow:0 0 0 3px rgba(8,119,201,.08)}.custom-count-number{font-size:31px;font-weight:800;color:var(--blue);line-height:1}.custom-count-card strong{margin-top:10px;font-size:15px}.custom-count-card small{margin-top:5px;color:var(--muted);font-weight:400}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.filter-grid label{margin:0!important;color:#34465a}.filter-grid select{width:100%;margin-top:7px;min-height:46px;padding:0 38px 0 12px;border:1px solid #cdd6de;border-radius:7px;background:#fff;color:var(--ink);font-size:14px}.text-action{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}.case-toggle{margin:22px 0 0!important;padding:17px;border:1px solid #dce3e9;border-radius:9px;background:#f9fbfc;display:flex!important;align-items:center;gap:14px;cursor:pointer}.case-toggle>input{position:absolute;opacity:0;width:1px!important}.toggle-ui{position:relative;width:48px;height:27px;flex:0 0 auto;border-radius:20px;background:#b7c1ca;transition:.2s}.toggle-ui:after{content:'';position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 4px #0003}.case-toggle input:checked+.toggle-ui{background:var(--blue)}.case-toggle input:checked+.toggle-ui:after{transform:translateX(21px)}.case-toggle>span:last-child{display:flex;flex-direction:column;gap:4px}.case-toggle small{color:var(--muted);font-weight:400;line-height:1.4}.custom-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:center;background:#10283f;color:#fff;border-radius:14px;padding:22px 25px;margin-top:20px}.custom-summary>div{display:flex;flex-direction:column;gap:5px}.summary-kicker,.summary-choice span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a8bbcc;font-weight:700}.custom-summary strong{font-size:24px}.custom-summary small{color:#c4d0da}.summary-choice b{font-size:17px}.start-custom{white-space:nowrap;margin:0!important;min-width:180px;text-align:center}.start-custom:disabled{opacity:.45;cursor:not-allowed}.custom-builder .notice.bad{margin-top:12px}.existing-practice{margin-bottom:25px}
@media(max-width:900px){.custom-count-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,1fr)}.custom-summary{grid-template-columns:1fr 1fr}.start-custom{grid-column:1/-1;width:100%}.builder-title{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.custom-count-grid,.filter-grid{grid-template-columns:1fr}.builder-section{padding:18px}.custom-summary{grid-template-columns:1fr}.start-custom{grid-column:auto}.custom-count-card{min-height:125px}}

/* ===== Custom Test visual refresh ===== */
.custom-builder .builder-section:nth-of-type(1){border-top:4px solid var(--green);background:linear-gradient(180deg,#fbfff5 0,#fff 72px)}
.custom-builder .builder-section:nth-of-type(2){border-top:4px solid var(--teal);background:linear-gradient(180deg,#f3fbfb 0,#fff 82px)}
.custom-builder .builder-section:nth-of-type(1) .step-number{background:#eef8dc;color:#5d9f12}
.custom-builder .builder-section:nth-of-type(2) .step-number{background:#e7f7f6;color:var(--teal)}
.custom-count-card:nth-child(1){border-top:4px solid var(--green)}
.custom-count-card:nth-child(2){border-top:4px solid var(--blue)}
.custom-count-card:nth-child(3){border-top:4px solid var(--teal)}
.custom-count-card:nth-child(4){border-top:4px solid #6d5bd0}
.custom-count-card:nth-child(1) .custom-count-number{color:#69a917}
.custom-count-card:nth-child(2) .custom-count-number{color:var(--blue)}
.custom-count-card:nth-child(3) .custom-count-number{color:var(--teal)}
.custom-count-card:nth-child(4) .custom-count-number{color:#6d5bd0}
.custom-count-card:has(input:checked){border-color:var(--blue);background:#f3f9fd}
.filter-grid label:nth-child(1) select{border-left:4px solid var(--blue)}
.filter-grid label:nth-child(2) select{border-left:4px solid var(--green)}
.filter-grid label:nth-child(3) select{border-left:4px solid var(--teal)}
.filter-grid label:nth-child(4) select{border-left:4px solid #6d5bd0}
.filter-grid label:nth-child(5) select{border-left:4px solid #e5a126}
.case-toggle{border-color:#b9dfdc;background:#f1fbfa}.case-toggle input:checked+.toggle-ui{background:var(--teal)}
.custom-summary{background:linear-gradient(135deg,#10283f,#16415a)}

/* Custom Test: compact test-length selector */
.custom-builder .builder-section:first-of-type{padding:18px 20px}
.custom-builder .builder-section:first-of-type .builder-title{margin-bottom:13px}
.custom-builder .builder-section:first-of-type .builder-title h2{font-size:18px}
.custom-builder .custom-count-grid{gap:10px}
.custom-builder .custom-count-card{min-height:92px;padding:10px 8px}
.custom-builder .custom-count-number{font-size:25px}
.custom-builder .custom-count-card strong{margin-top:5px;font-size:13px}
.custom-builder .custom-count-card small{margin-top:2px;font-size:11px}
@media(max-width:560px){.custom-builder .custom-count-card{min-height:82px}}

/* ===== Assessly Completed Question Review ===== */
.review-page{padding:38px 0 48px;max-width:1180px}
.review-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.review-topbar .eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf7f6;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-topbar h1{margin:9px 0 5px;font-size:30px;color:var(--navy)}
.review-topbar p{margin:0;color:var(--muted);font-size:14px}
.review-back{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #cfd9e1;border-radius:8px;background:#fff;color:var(--teal);font-weight:700;text-decoration:none;white-space:nowrap}
.review-back:hover{border-color:var(--teal);background:#f2fbfa}
.review-status{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800}
.review-status.correct{background:#edf8dd;color:#4f870c;border:1px solid #cbe7a2}
.review-status.incorrect{background:#fff0f0;color:#b83232;border:1px solid #f1c3c3}
.review-status.unanswered{background:#f1f3f5;color:#65717c;border:1px solid #d9dfe4}
.review-question-card{padding:30px 32px!important;border-radius:14px!important;box-shadow:0 8px 28px rgba(16,40,63,.08)!important}
.review-question-card .question-text{font-size:20px;font-weight:800;line-height:1.45;color:var(--navy);margin-bottom:8px}
.review-question-card .question-instructions{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.55}
.review-options{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.review-option{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:56px;padding:12px 14px;border:1px solid #dce3e9;border-radius:9px;background:#fff}
.review-option.correct-answer{border-color:#a8d86b;background:#f5fbe9}
.review-option.wrong-answer{border-color:#efb4b4;background:#fff5f5}
.review-option.correct-answer.wrong-answer{border-color:#a8d86b;background:#f5fbe9}
.option-key{font-weight:800;color:var(--navy);font-size:15px}.review-option-text{font-size:14px;line-height:1.45}
.review-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tag{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;line-height:1;font-weight:800;white-space:nowrap}.tag.mine{background:#eaf3fb;color:#1769aa}.tag.right{background:#e7f5d2;color:#4d820d}
.review-explanation{margin-top:25px;padding:18px 20px;border-left:4px solid var(--teal);border-radius:8px;background:#f2f9f9;color:#33485b;line-height:1.6}.review-label{display:block;margin-bottom:6px;color:#65717c;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.review-explanation .review-label{color:var(--teal)}
.review-list{display:flex;flex-direction:column;gap:12px;margin-top:22px}.review-answer-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;padding:15px;border:1px solid #dce3e9;border-radius:9px;background:#fbfcfd}.answer-value{display:block;font-weight:700;line-height:1.4}.answer-value.good,.answer-good{color:#4d820d}.answer-value.bad,.answer-bad{color:#b83232}
.review-matching{margin-top:22px;border:1px solid #d6dee5;border-radius:9px;overflow:hidden}.review-match-head,.review-match-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0}.review-match-head{background:#eef3f6;color:#43576a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.review-match-head span,.review-match-row span{padding:12px 14px;border-right:1px solid #d6dee5}.review-match-head span:last-child,.review-match-row span:last-child{border-right:0}.review-match-row{border-top:1px solid #e1e6ea;background:#fff;font-size:13px;line-height:1.45}
.review-hotspot-stage{margin-top:20px}.review-correct-region{position:absolute;z-index:4;border:3px solid #79b82b;background:rgba(134,197,31,.14);pointer-events:none}.review-correct-region span{position:absolute;left:0;top:100%;margin-top:3px;padding:4px 6px;border-radius:4px;background:#5f9719;color:#fff;font-size:9px;line-height:1;white-space:nowrap}.hotspot-review-legend{display:flex;gap:18px;justify-content:center;margin-top:10px;color:#65717c;font-size:11px;font-weight:700}
.review-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:18px}.review-navigation>span{color:var(--muted);font-size:12px;font-weight:700}.review-navigation>div:last-child{text-align:right}.previous-btn,.next-btn{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 18px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:800}.previous-btn{border:1px solid #cbd5dd;background:#fff;color:var(--navy)}.next-btn{border:1px solid var(--blue);background:var(--blue);color:#fff}.previous-btn:hover{border-color:var(--teal);color:var(--teal)}.next-btn:hover{filter:brightness(.95)}
.case-panel{margin-bottom:24px;padding:20px;border:1px solid #cfe5e3;border-radius:10px;background:#f5fbfa}.case-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.case-heading span{padding:4px 7px;border-radius:4px;background:var(--teal);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em}.case-heading strong{color:var(--navy)}.case-scenario,.case-instructions{font-size:13px;line-height:1.65;color:#405365}.case-instructions{margin-top:12px;padding-top:12px;border-top:1px solid #d8e9e7}
@media(max-width:760px){.review-topbar{align-items:flex-start;flex-direction:column}.review-question-card{padding:22px 18px!important}.review-option{grid-template-columns:28px 1fr}.review-tags{grid-column:2;justify-content:flex-start}.review-answer-row,.review-match-head,.review-match-row{grid-template-columns:1fr}.review-match-head{display:none}.review-match-row span{border-right:0;border-bottom:1px solid #e3e7ea}.review-match-row span:last-child{border-bottom:0}.review-navigation{grid-template-columns:1fr 1fr}.review-navigation>span{display:none}.review-navigation>div:last-child{text-align:right}}
/* Custom Test breadcrumb - matches Practice Mode */
.custom-builder .setup-breadcrumb{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 30px;
    font-size:15px;
    line-height:1;
}
.custom-builder .setup-breadcrumb a{
    color:#17324f;
    text-decoration:none;
    font-weight:500;
}
.custom-builder .setup-breadcrumb a:hover{
    color:var(--teal);
}
.custom-builder .breadcrumb-home{
    font-size:15px;
}
.custom-builder .breadcrumb-separator{
    color:#8fa0b1;
    font-size:22px;
    font-weight:400;
}
.custom-builder .breadcrumb-current{
    color:var(--teal);
    font-weight:800;
}
.custom-builder .setup-heading{
    margin-top:0;
}

/* ===== Assessly Stage 4A: PMP Exam Simulation ===== */
.mock-setup-page{max-width:1180px;margin:0 auto;padding-bottom:70px}
.mock-setup-page .setup-breadcrumb{display:flex;align-items:center;gap:12px;margin:4px 0 34px;font-size:15px}
.mock-setup-page .setup-breadcrumb a{color:#17324f;text-decoration:none}.mock-setup-page .breadcrumb-separator{color:#91a1b2;font-size:22px}.mock-setup-page .breadcrumb-current{color:#008f92;font-weight:800}
.mock-hero{text-align:center;padding:8px 20px 28px}.mock-eyebrow{display:inline-block;background:#e6f7f7;color:#007d80;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:900;letter-spacing:1.5px}
.mock-hero h1{font-size:44px;color:#082d50;margin:17px 0 10px}.mock-hero p{font-size:18px;color:#5c6f83;max-width:760px;margin:auto;line-height:1.6}
.mock-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 22px}.mock-stat{background:#fff;border:1px solid #dce5ed;border-top:4px solid #008f92;border-radius:15px;padding:20px;text-align:center;box-shadow:0 8px 24px rgba(12,45,76,.05)}.mock-stat:nth-child(2){border-top-color:#1677d2}.mock-stat:nth-child(3){border-top-color:#78c900}.mock-stat:nth-child(4){border-top-color:#7657df}.mock-stat span,.mock-stat small{display:block;color:#6b7c8f}.mock-stat strong{display:block;color:#082d50;font-size:29px;margin:4px 0}
.mock-rules,.mock-readiness,.mock-start-card{background:#fff;border:1px solid #dce5ed;border-radius:16px;padding:26px;margin-top:22px;box-shadow:0 8px 28px rgba(12,45,76,.05)}.mock-rules{border-top:4px solid #78c900}.mock-readiness{border-top:4px solid #1677d2}.mock-start-card{border-top:4px solid #008f92}
.mock-rules-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.mock-rules-heading h2{margin:1px 0 5px;color:#082d50;font-size:23px}.mock-rules-heading p{margin:0;color:#66798d}.mock-step{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:#eef9df;color:#60ae00;font-weight:900;font-size:18px}.mock-step.blue{background:#e9f4ff;color:#1677d2}
.mock-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mock-rule-grid article{display:flex;gap:13px;background:#f8fafc;border:1px solid #e4eaf0;border-radius:12px;padding:16px}.rule-icon{display:grid;place-items:center;min-width:42px;height:42px;border-radius:11px;background:#eef5f8;font-size:20px}.mock-rule-grid strong{color:#0b3153}.mock-rule-grid p{margin:5px 0 0;color:#63768a;line-height:1.45;font-size:14px}
.readiness-line{display:flex;justify-content:space-between;gap:20px;padding:13px 4px;border-top:1px solid #e8edf2;color:#344d64}.readiness-line strong{color:#17324f}.readiness-line strong.ok{color:#4eaa00}.readiness-line strong.not-ok{color:#c63d3d}.readiness-line small{color:#7b8b9a}
.mock-start-card{text-align:center;padding:30px}.mock-warning{display:inline-block;color:#9a6200;background:#fff4d6;border-radius:999px;padding:6px 11px;font-size:11px;font-weight:900;letter-spacing:1.2px}.mock-start-card h2{color:#082d50;font-size:28px;margin:11px 0 7px}.mock-start-card p{color:#65788b;max-width:760px;margin:0 auto 20px;line-height:1.55}.mock-start-btn{border:0;border-radius:10px;background:#008f92;color:#fff;padding:15px 25px;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(0,143,146,.18)}.mock-start-btn.disabled{background:#c8d1da;box-shadow:none;cursor:not-allowed}.mock-shortage{font-size:13px!important;margin-top:12px!important;color:#a24a4a!important}
@media(max-width:800px){.mock-stat-grid{grid-template-columns:1fr 1fr}.mock-rule-grid{grid-template-columns:1fr}.mock-hero h1{font-size:34px}}@media(max-width:520px){.mock-stat-grid{grid-template-columns:1fr}.readiness-line{flex-direction:column;gap:4px}}

/* ===== Assessly learner finishing pages ===== */
.review-results-btn{border-color:#008f92!important;color:#007f82!important}.review-results-btn:hover{background:#008f92!important;color:#fff!important}
.review-pending{font-size:12px;color:#7a8998;max-width:145px;display:inline-block;line-height:1.3}.status.ended{background:#eef1f4;color:#647485}
.account-page,.help-centre{max-width:1180px;margin:0 auto;padding-bottom:70px}.account-page .setup-breadcrumb,.help-centre .setup-breadcrumb{display:flex;align-items:center;gap:12px;margin:4px 0 30px;font-size:15px}.account-page .setup-breadcrumb a,.help-centre .setup-breadcrumb a{color:#17324f;text-decoration:none}.account-page .breadcrumb-separator,.help-centre .breadcrumb-separator{color:#91a1b2;font-size:22px}.account-page .breadcrumb-current,.help-centre .breadcrumb-current{color:#008f92;font-weight:800}
.account-heading,.help-hero{text-align:center;margin-bottom:28px}.account-eyebrow,.help-eyebrow{display:inline-block;background:#e7f7f7;color:#007f82;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:1.4px}.account-heading h1,.help-hero h1{color:#082d50;font-size:38px;margin:12px 0 7px}.account-heading p,.help-hero p{color:#687b8d;font-size:16px}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.account-card{background:#fff;border:1px solid #dce5ed;border-radius:16px;padding:24px;box-shadow:0 8px 26px rgba(12,45,76,.05)}.account-card-title{display:flex;gap:13px;align-items:center;border-bottom:1px solid #e7edf2;padding-bottom:17px;margin-bottom:20px}.account-card-title h2{margin:0;color:#0b3153;font-size:21px}.account-card-title p{margin:3px 0 0;color:#758697;font-size:13px}.account-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:#e8f7f7}.account-icon.blue{background:#eaf3fd}.account-icon.green{background:#eff9e4}.account-form label{display:block;color:#29455f;font-weight:700;font-size:13px;margin-bottom:16px}.account-form input{display:block;width:100%;margin-top:7px;border:1px solid #ced9e2;border-radius:9px;padding:11px 12px;font-size:14px;background:#fff}.account-form input[readonly]{background:#f5f7f9;color:#68798a}.account-form small{display:block;color:#83919f;font-weight:400;margin-top:5px;line-height:1.4}.account-btn{border:0;background:#008f92;color:#fff;border-radius:9px;padding:11px 18px;font-weight:800}.account-btn.blue{background:#1677d2}.access-card{margin-top:20px}.account-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.account-info-grid>div{background:#f7f9fb;border:1px solid #e5ebf0;border-radius:11px;padding:15px}.account-info-grid span{display:block;color:#77899a;font-size:12px;margin-bottom:5px}.account-info-grid strong{color:#17324f;font-size:14px}.active-account{color:#5ba900!important}.account-alert{padding:12px 15px;border-radius:10px;margin:0 0 18px;font-size:14px}.account-alert.success{background:#edf8e5;color:#417d00;border:1px solid #d6edc4}.account-alert.error{background:#fff0f0;color:#a33434;border:1px solid #f0cccc}
.help-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.help-mode{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid #dce5ed;border-top:4px solid #78c900;border-radius:14px;padding:18px;box-shadow:0 6px 20px rgba(12,45,76,.04)}.help-mode.custom{border-top-color:#1677d2}.help-mode.simulation{border-top-color:#008f92}.help-mode span{font-size:25px}.help-mode strong{color:#0b3153;margin:7px 0 3px}.help-mode small{color:#758697;line-height:1.4}.help-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.help-topic,.help-side-card{background:#fff;border:1px solid #dce5ed;border-radius:15px;padding:23px;margin-bottom:18px;box-shadow:0 6px 22px rgba(12,45,76,.04)}.topic-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:13px}.topic-title h2{margin:0;color:#0b3153;font-size:21px}.topic-title p{margin:4px 0 0;color:#728496}.topic-number{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;font-weight:900;background:#eff9e4;color:#5ba900}.topic-number.blue{background:#eaf3fd;color:#1677d2}.topic-number.teal{background:#e7f7f7;color:#008f92}.topic-number.purple{background:#f0edff;color:#7055d5}.topic-number.orange{background:#fff3df;color:#c87500}.help-topic ul{margin:0;padding-left:21px;color:#50677c}.help-topic li{margin:8px 0;line-height:1.5}.help-topic>p{color:#50677c;line-height:1.6}.question-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-help-grid div{background:#f7f9fb;border:1px solid #e5ebf0;border-radius:10px;padding:13px}.question-help-grid strong,.question-help-grid span{display:block}.question-help-grid strong{color:#183a58;font-size:13px}.question-help-grid span{color:#748596;font-size:12px;margin-top:3px}.help-side-card{position:sticky;top:85px}.help-side-card h3{color:#0b3153;font-size:17px}.help-side-card>a:not(.support-mail){display:block;color:#466079;text-decoration:none;border-top:1px solid #edf0f3;padding:10px 0;font-size:13px}.help-side-card>a:hover{color:#008f92}.help-side-card.support{text-align:center;position:static}.support-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;margin:0 auto 10px;background:#e7f7f7;color:#008f92;font-size:22px;font-weight:900}.help-side-card.support p{color:#718394;font-size:13px;line-height:1.5}.support-mail{display:block;background:#008f92;color:#fff!important;text-decoration:none;border-radius:9px;padding:10px;font-weight:800;font-size:13px;margin:13px 0 8px}.help-side-card.support small{color:#7c8b99}
@media(max-width:800px){.account-grid,.help-layout{grid-template-columns:1fr}.account-info-grid{grid-template-columns:1fr 1fr}.help-mode-grid{grid-template-columns:1fr}.help-side-card{position:static}.question-help-grid{grid-template-columns:1fr}}@media(max-width:520px){.account-info-grid{grid-template-columns:1fr}}
/* ===== My Details: account + learning snapshot ===== */
.profile-overview{max-width:1180px;margin:0 auto;padding-bottom:70px}
.profile-banner{background:linear-gradient(120deg,#173a5a,#1686ca);border-radius:16px;padding:28px 30px;margin-bottom:20px;color:#fff;box-shadow:0 10px 28px rgba(17,70,110,.13)}
.profile-banner .profile-eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1.4px;opacity:.78;margin-bottom:7px}
.profile-banner h1{color:#fff;margin:0 0 6px;font-size:30px}
.profile-banner p{margin:0;color:rgba(255,255,255,.84)}
.profile-section{background:#fff;border:1px solid #e3e9ee;border-radius:15px;padding:23px;margin-bottom:19px;box-shadow:0 7px 24px rgba(12,45,76,.05)}
.profile-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
.profile-section-heading h2{margin:0;color:#173a59;font-size:21px}.profile-section-heading p{margin:4px 0 0;color:#7b8b99;font-size:13px}
.profile-section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e8f7f7}.profile-section-icon.blue{background:#eaf3fd}.profile-section-icon.green{background:#eef9e4}
.profile-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.profile-field{background:#f8fafb;border:1px solid #e6ebef;border-radius:11px;padding:14px;min-height:91px}
.profile-field>span{display:block;color:#6d7e8e;font-size:12px;font-weight:700;margin-bottom:7px}
.profile-field strong{display:block;color:#173a59;font-size:14px;line-height:1.45}
.profile-field small{display:block;color:#8996a2;font-size:11px;margin-top:5px;line-height:1.35}
.profile-field input{width:100%;box-sizing:border-box;border:1px solid #ccd8e1;background:#fff;border-radius:8px;padding:9px 10px;color:#173a59;font-size:14px}
.profile-save-btn{margin-top:14px;border:0;background:#159a96;color:#fff;border-radius:8px;padding:10px 16px;font-weight:800;cursor:pointer}
.expiry.valid{color:#55a900!important}.expiry.expired{color:#c73e3e!important}
.password-panel summary{display:inline-block;list-style:none;background:#159a96;color:#fff;border-radius:8px;padding:10px 15px;font-weight:800;font-size:13px;cursor:pointer}.password-panel summary::-webkit-details-marker{display:none}
.password-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid #e9edf1}
.password-form label{color:#344f68;font-size:12px;font-weight:700}.password-form input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #ccd8e1;border-radius:8px;padding:10px}.password-form button{border:0;background:#1677d2;color:#fff;border-radius:8px;padding:11px 16px;font-weight:800}
.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 19px}
.profile-stat{border-radius:14px;padding:19px;text-align:center;box-shadow:0 8px 20px rgba(12,45,76,.08)}
.profile-stat strong{display:block;font-size:27px;margin-bottom:4px}.profile-stat span{display:block;font-size:12px;font-weight:700}
.profile-stat.total{background:#a8db43;color:#173300}.profile-stat.mock{background:#2788d1;color:#fff}.profile-stat.practice{background:#35aaa8;color:#fff}.profile-stat.custom{background:#775bdd;color:#fff}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.journey-grid>div{border-right:1px solid #e8edf1;padding-right:12px}.journey-grid>div:last-child{border-right:0}
.journey-grid span{display:block;color:#738596;font-size:12px;margin-bottom:5px}.journey-grid strong{color:#173a59;font-size:14px}
.journey-message{margin-top:20px;border-left:4px solid #9bd439;background:#f5f8f9;border-radius:9px;padding:14px 16px}.journey-message strong,.journey-message span{display:block}.journey-message strong{color:#173a59;font-size:13px}.journey-message span{color:#687b8c;font-size:12px;margin-top:4px}
@media(max-width:900px){.profile-detail-grid,.profile-stats{grid-template-columns:1fr 1fr}.password-form{grid-template-columns:1fr 1fr}.password-form button{grid-column:1/-1}.journey-grid{grid-template-columns:1fr}.journey-grid>div{border-right:0;border-bottom:1px solid #e8edf1;padding:0 0 10px}.journey-grid>div:last-child{border-bottom:0}}
@media(max-width:520px){.profile-detail-grid,.profile-stats,.password-form{grid-template-columns:1fr}.profile-banner{padding:23px}.profile-banner h1{font-size:25px}}
/* Stage 4B question presentation alignment patch */
.mock-card{padding:30px 34px}
.mock-question-head{min-height:38px;gap:18px}
.mock-question-meta{font-size:12px;font-weight:800;color:#6d8191}
.mock-question{max-width:960px;margin:18px 0 20px;font-size:19px;line-height:1.55}
.mock-answers{max-width:960px}
.mock-option-list{display:grid;gap:11px;width:100%}
.mock-option{display:grid;grid-template-columns:24px 38px 1fr;align-items:center;gap:11px;width:100%;box-sizing:border-box;padding:14px 16px;background:#fff}
.mock-option input{margin:0;width:17px;height:17px}
.mock-option-letter{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf2f5;color:#173a59;font-weight:900}
.mock-option-text{display:block;line-height:1.45;color:#263f54}
.mock-option:has(input:checked) .mock-option-letter{background:#159a96;color:#fff}
.mock-selection-counter{text-align:right;font-size:12px;color:#6d8191;margin:-5px 0 8px}.mock-selection-counter strong{color:#159a96}
.mock-question select{display:inline-block;vertical-align:middle;min-width:170px;max-width:100%;margin:2px 4px;padding:8px 30px 8px 10px;background:#fff;color:#263f54}
.mock-matching{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.4fr);gap:20px;align-items:start}
.mock-match-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:#738596;margin-bottom:9px}
.mock-choice-bank{display:grid;gap:9px}
.mock-choice{width:100%;text-align:left;border:1px solid #cad8e0;background:#fff;color:#263f54;border-radius:9px;padding:11px 13px;cursor:grab;font-weight:700}
.mock-choice:hover,.mock-choice.selected{border-color:#159a96;background:#effafa}
.mock-choice.is-used{opacity:.38}
.mock-match-targets{display:grid;gap:10px}
.mock-target{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.mock-target-description{border:1px solid #dce5ea;background:#f7f9fa;border-radius:9px;padding:12px;line-height:1.4}
.mock-dropzone{border:1px dashed #aebfc9;background:#fff;border-radius:9px;padding:12px;text-align:left;color:#7b8d9b;cursor:pointer;min-height:50px}
.mock-dropzone.filled{border-style:solid;border-color:#159a96;background:#effafa;color:#173a59;font-weight:800}
.mock-reset-matches{grid-column:1/-1;justify-self:start;border:1px solid #cad8e0;background:#fff;color:#526b7d;border-radius:8px;padding:8px 12px;cursor:pointer}
.mock-hotspot{display:block;width:max-content;max-width:100%;margin:10px auto 0}
.mock-hotspot img{width:auto;height:auto;max-width:100%;max-height:560px;object-fit:contain}
@media(max-width:760px){.mock-card{padding:22px 18px}.mock-matching{grid-template-columns:1fr}.mock-target{grid-template-columns:1fr}.mock-option{grid-template-columns:22px 34px 1fr}.mock-question-head{align-items:flex-start}.mock-question{font-size:17px}}


/* ========================================================================
   Assessly PWA Phase 3D - authoritative installed-app question rules
   ======================================================================== */
html.assessly-app{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
}
html.assessly-app body{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  touch-action:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
html.assessly-app main.page{
  position:static!important;
  height:auto!important;
  min-height:calc(100vh - 70px)!important;
  max-height:none!important;
  overflow:visible!important;
  touch-action:auto!important;
}
html.assessly-app .app-question-page{
  position:static!important;
  width:min(100%, 760px)!important;
  max-width:92%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:18px 0 38px!important;
  overflow:visible!important;
  touch-action:auto!important;
}
html.assessly-app .app-question-page .question-card{
  position:static!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:15px!important;
}
html.assessly-app .app-question-page .question-top{
  display:flex!important;align-items:center!important;gap:10px!important;
}
html.assessly-app .app-question-page .question-top>div{flex:1!important;min-width:0!important}
html.assessly-app .app-question-page .question-top strong{font-size:14px!important;line-height:1.3!important}
html.assessly-app .app-question-page .end-practice{
  flex:0 0 auto!important;min-height:40px!important;padding:8px 11px!important;font-size:13px!important
}
html.assessly-app .app-question-page .progress-row{margin:12px 0 14px!important}
html.assessly-app .app-question-page .progress-row>span{display:none!important}

/* Mobile annotation: tap tool, then tap individual words. */
html.assessly-app .app-question-page .annotation-tools{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:7px!important;
  justify-content:stretch!important;
  overflow:visible!important;
}
html.assessly-app .app-question-page .annotation-tools .tool{
  width:100%!important;min-width:0!important;min-height:42px!important;
  margin:0!important;padding:8px 4px!important;font-size:12px!important;white-space:nowrap!important
}
html.assessly-app .app-question-page .highlight-tool.active{
  background:#fff7d9!important;box-shadow:inset 0 0 0 2px #f2a000!important
}
html.assessly-app .app-question-page .strike-tool.active{
  background:#f2efff!important;box-shadow:inset 0 0 0 2px #6656c9!important
}
html.assessly-app .app-question-page .question-text{
  font-size:17px!important;line-height:1.62!important;
  -webkit-user-select:none!important;user-select:none!important;
  touch-action:pan-y!important
}
html.assessly-app .app-question-page .annotation-word{
  display:inline;
  border-radius:2px;
  -webkit-tap-highlight-color:transparent;
}
html.assessly-app .app-question-page .annotation-word.learner-highlight{
  background:#fff19a!important;text-decoration:none!important;padding:1px 0!important
}
html.assessly-app .app-question-page .annotation-word.learner-strike{
  background:transparent!important;text-decoration:line-through!important;
  text-decoration-thickness:2px!important;text-decoration-color:#6656c9!important
}

/* Mobile matching: no draggable layer, no horizontal scroller, normal page pan. */
html.assessly-app .app-question-page .matching-wrapper{
  display:block!important;position:static!important;width:100%!important;max-width:100%!important;
  min-width:0!important;height:auto!important;max-height:none!important;
  overflow:visible!important;touch-action:auto!important
}
html.assessly-app .app-question-page .matching-grid{
  display:flex!important;flex-direction:column!important;position:static!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:auto!important;max-height:none!important;gap:0!important;
  overflow:visible!important;touch-action:auto!important;border:0!important
}
html.assessly-app .app-question-page .matching-grid>.match-header{display:none!important}
html.assessly-app .app-question-page .answer-bank{
  order:-100!important;display:block!important;position:static!important;
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  margin:0 0 16px!important;padding:12px!important;
  overflow:visible!important;touch-action:auto!important;border:1px solid #d9e0e5!important;border-radius:12px!important
}
html.assessly-app .app-question-page .answer-bank::before{
  content:"CHOICES";display:block;margin:0 0 9px;
  color:#66737f;font-size:12px;font-weight:800;letter-spacing:.07em
}
html.assessly-app .app-question-page .answer-bank-inner{
  display:flex!important;flex-direction:column!important;gap:8px!important;
  width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;
  overflow:visible!important;touch-action:auto!important
}
html.assessly-app .app-question-page .match-choice{
  position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:48px!important;height:auto!important;margin:0!important;padding:11px 12px!important;
  display:flex!important;align-items:center!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  cursor:pointer!important;touch-action:auto!important;
  -webkit-user-select:none!important;user-select:none!important
}
html.assessly-app .app-question-page .drag-handle{display:none!important}
html.assessly-app .app-question-page .match-choice.selected-choice{
  border-color:#168c8b!important;background:#eefafa!important;
  box-shadow:0 0 0 3px rgba(22,140,139,.14)!important
}
html.assessly-app .app-question-page .drop-zone{
  display:flex!important;position:static!important;
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:52px!important;height:auto!important;
  margin:0!important;padding:7px!important;
  overflow:visible!important;touch-action:auto!important;
  border:1px dashed #9ca8b2!important;border-radius:10px!important
}
html.assessly-app .app-question-page .drop-placeholder{
  width:100%!important;min-height:38px!important;padding:8px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  white-space:normal!important;text-align:center!important
}
html.assessly-app .app-question-page .match-description{
  display:block!important;position:static!important;
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:0!important;margin:0 0 15px!important;padding:8px 4px 13px!important;
  border-left:0!important;border-bottom:1px solid #e5e9ed!important;
  white-space:normal!important;font-size:14px!important;line-height:1.45!important;
  touch-action:auto!important
}
html.assessly-app .app-question-page .match-description::before{
  content:"DESCRIPTION";display:block;margin-bottom:4px;
  color:#8a949d;font-size:10px;font-weight:800;letter-spacing:.06em
}
html.assessly-app .app-question-page .match-help{font-size:13px!important;line-height:1.5!important}
html.assessly-app .app-question-page .reset-matches{min-height:42px!important}

/* Actions remain in document flow so they cannot cover/capture the viewport. */
html.assessly-app .app-question-page .question-actions{
  position:static!important;inset:auto!important;
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
  width:100%!important;margin:18px 0 0!important;padding:12px 0 0!important;
  background:transparent!important;border-top:1px solid #e5e9ed!important
}
html.assessly-app .app-question-page .action-left,
html.assessly-app .app-question-page .action-centre,
html.assessly-app .app-question-page .action-right{display:contents!important}
html.assessly-app .app-question-page .previous-btn,
html.assessly-app .app-question-page .next-btn,
html.assessly-app .app-question-page .peek-btn,
html.assessly-app .app-question-page .review-btn{
  width:100%!important;min-width:0!important;min-height:46px!important;
  margin:0!important;padding:9px 7px!important;font-size:12px!important;white-space:normal!important
}
html.assessly-app .app-question-page .case-panel{
  height:auto!important;max-height:none!important;overflow:visible!important
}
html.assessly-app .app-question-page .learner-dropdown{
  width:100%!important;max-width:100%!important;min-height:48px!important;font-size:16px!important
}
@media(max-width:380px){
  html.assessly-app .app-question-page .annotation-tools{grid-template-columns:1fr 1fr!important}
  html.assessly-app .app-question-page .clear-tool{grid-column:1/-1!important}
}
