:root {color-scheme: dark;--bg:#100f1e;--panel:#1b1730;--stroke:#3c3159;--text:#f7f4ff;--muted:#b8adc9;--brand:#a773fa}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(ellipse at 20% 5%,#39225e 0,transparent 45%),var(--bg);color:var(--text)}
a{color:#c5a4ff;text-decoration:none}a:hover{text-decoration:underline}
.shell{max-width:490px;padding:38px 18px 28px;margin:auto}
header{margin-bottom:40px}.brand{font-weight:800;font-size:24px;color:#f7f4ff;letter-spacing:-.7px}.brand span{color:var(--brand)}.brand small{font-size:11px;letter-spacing:2px;margin-left:5px;color:#d3b7ff}
.card{background:var(--panel);border:1px solid var(--stroke);border-radius:20px;padding:32px;box-shadow:0 30px 80px #0004}
.eyebrow{color:var(--brand);font-size:11px;font-weight:700;letter-spacing:2px}
h1{margin:12px 0 8px;font-size:clamp(26px,5vw,35px);line-height:1.16}p{color:var(--muted);line-height:1.55;font-size:14px;margin:12px 0 25px}
form{display:grid;gap:17px}label{display:grid;gap:7px;font-size:13px;color:#e6dcf6;font-weight:600}
input,select{border:1px solid #574772;border-radius:10px;background:#100e1e;color:white;font:inherit;padding:13px;width:100%;outline:none}
input:focus,select:focus{border-color:#b18cf4;box-shadow:0 0 0 3px #9269d73c}
button{width:100%;border:0;border-radius:10px;background:#8150ca;color:white;font-size:15px;font-weight:700;padding:14px;cursor:pointer;margin-top:5px}
button:hover{background:#7543bf}button:focus-visible{outline:3px solid white;outline-offset:2px}
.links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:25px;font-size:13px}
.notice{margin:20px 0 0;color:#cbb2f8;min-height:10px}.notice[data-error="1"]{color:#ffada8}
.infobox{padding:17px;border:1px solid #514268;border-radius:12px;margin-bottom:20px}.infobox p{margin:5px 0 0}
footer{text-align:center;color:var(--muted);font-size:12px;padding:35px 5px}
@media(max-width:420px){.card{padding:24px}.shell{padding-top:26px}header{margin-bottom:25px}}

.security-list{list-style:none;margin:8px 0 24px;padding:0;display:grid;gap:8px}
.security-list li{padding:12px;border:1px solid var(--stroke);border-radius:10px;overflow-wrap:anywhere}
.security-list li strong{display:block;font-size:13px}
.security-list li span{display:block;color:var(--muted);font-size:12px;margin-top:5px}
h2{font-size:17px;margin:24px 0 10px}
button.danger{background:#853e62}button.danger:hover{background:#a44d76}

/* Student dashboard, designed for mobile and desktop. */
.shell-wide{max-width:1050px}
.card-dashboard{padding:clamp(22px,4vw,38px)}
.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.dashboard-metric{background:#120f22;border:1px solid var(--stroke);border-radius:14px;padding:17px;display:grid;gap:8px}
.dashboard-metric strong{font-size:24px;line-height:1.2}
.dashboard-muted{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.dashboard-notice{border:1px solid #695081;border-radius:12px;padding:14px;margin-bottom:24px;color:#e1cfff;font-size:13px}
.dashboard-section{margin-top:24px}
.dashboard-section h2{font-size:19px;margin-bottom:14px}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px}
.exam-card{display:flex;flex-direction:column;gap:10px;padding:18px;background:#120f22;border:1px solid var(--stroke);border-radius:15px;min-width:0}
.exam-card-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}
.exam-card h3{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere;max-width:100%}
.status-pill{font-size:11px;padding:5px 9px;background:#413951;border-radius:20px;color:#eee6fb}
.pill-active{background:#233f34;color:#bff4d2}
.exam-card .exam-disabled{background:#4b415f;opacity:.85;cursor:not-allowed;margin-top:auto;font-size:13px}
.dashboard-list{grid-template-columns:1fr}
.dashboard-list-item{border:1px solid var(--stroke);border-radius:12px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:start}
.dashboard-list-item strong{grid-column:1;overflow-wrap:anywhere}
.dashboard-list-item .dashboard-muted{grid-column:1}
.dashboard-attempt-link{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;min-height:44px;color:#dfc5ff;text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:14px}
.dashboard-attempt-link:focus-visible{outline:3px solid #b28aff;outline-offset:3px;border-radius:4px}
.dashboard-history-action{width:auto;max-width:100%;min-height:44px;padding:10px 16px;margin-top:12px;font-size:13px}
.dashboard-history-action[hidden]{display:none}
.dashboard-score{grid-column:2;grid-row:1/span 2;justify-self:end;margin:0;color:#e4cef9;font-weight:700;font-size:13px}
@media(max-width:610px){.dashboard-metrics{gap:6px}.dashboard-metric{padding:11px}.dashboard-metric strong{font-size:18px}.dashboard-muted{font-size:12px}.dashboard-score{grid-column:1;grid-row:auto;justify-self:start}}
/* MoniqueDev Exams | Practice exam v0.8 */
.exam-top {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.exam-countdown {font-variant-numeric:tabular-nums;font-size:1.5rem}
.exam-navigator {display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0}
.exam-nav-item {width:2.45rem;min-height:2.45rem;padding:.35rem;border:1px solid #775da2;border-radius:.5rem}
.exam-nav-item[aria-current="step"] {outline:3px solid #9e74f8;outline-offset:1px}
.exam-nav-saved {background:#583c7e;color:#fff}
.exam-nav-pending {border-style:dashed}
.exam-nav-failed {border:2px solid #d14b70;box-shadow:0 0 0 1px #d14b70}
[data-save-retry][hidden] {display:none}
.exam-question {min-width:0;border:1px solid #775da2;border-radius:.75rem;padding:1.1rem;margin:1.1rem 0}
.exam-option {display:flex;align-items:flex-start;gap:.75rem;padding:.65rem;margin:.45rem 0;border:1px solid #775da2;border-radius:.5rem;cursor:pointer}
.exam-option input {width:1.25rem;height:1.25rem;padding:0;margin:.15rem 0 0;flex:0 0 1.25rem;accent-color:#b18cf4}
.exam-option span {min-width:0;flex:1;overflow-wrap:anywhere}
.exam-actions {display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.exam-warning {color:#ffada8}
.exam-domain-summary{border:1px solid var(--stroke);border-radius:12px;padding:16px;margin:18px 0}
.exam-domain-summary h3{font-size:17px;margin:0 0 12px}
.exam-domain-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.exam-domain-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--stroke)}
.exam-domain-item:last-child{border-bottom:0}
.exam-domain-item span{min-width:0;overflow-wrap:anywhere}
.exam-domain-item strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.exam-review-correct{border-left:4px solid #77ca9e}
.exam-review-incorrect{border-left:4px solid #dca274}
.exam-review-option{margin:.45rem 0;padding:.7rem;border:1px solid var(--stroke);border-radius:8px;overflow-wrap:anywhere}
.exam-review-selected{border-style:solid;border-width:2px}
.exam-review-key{background:#273a32}
.exam-review-explanation{line-height:1.55;overflow-wrap:anywhere}
.exam-review-back{display:inline-flex;align-items:center;min-height:44px;margin:12px 0;color:#dfc5ff;text-decoration:underline;text-underline-offset:3px}
.exam-review-back:focus-visible{outline:3px solid #b28aff;outline-offset:3px}
@media (max-width:650px){
  .exam-navigator {flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 4px 12px;scrollbar-width:thin}
  .exam-nav-item {flex:0 0 2.7rem;width:2.7rem;min-height:2.7rem}
  .exam-question {padding:.85rem}
  .exam-actions button {flex:1 1 40%}
}
/* MoniqueDev Exams v0.9 editorial preview */
.admin-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#100e1e;border:1px solid var(--stroke);padding:1rem;border-radius:12px;line-height:1.6;font-size:13px;color:#e3d7f8}

/* Localized login and registration language navigation. */
.auth-language{display:flex;gap:7px;margin-top:13px;align-items:center}
.auth-language a{display:inline-block;padding:4px 10px;border:1px solid var(--stroke);border-radius:18px;font-size:12px;font-weight:800;color:#e4d4ff}
.auth-language a[aria-current="page"]{background:#c5a4ff;color:#221631;border-color:#c5a4ff}
.auth-language a:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Editorial staging workspace: mobile-first, keyboard-accessible and isolated. */
.editorial-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}
.editorial-controls label{font-weight:700}
.editorial-controls select,.editorial-controls input{min-width:150px;max-width:100%;width:auto}
.editorial-queue-item{padding:16px;margin:12px 0;border:1px solid var(--stroke,#544269);border-radius:12px;background:#1c1532;overflow-wrap:anywhere}
.editorial-queue-item p{margin:7px 0;color:#ddd1ee}
.editorial-queue-item button{width:auto}
.editorial-detail{display:grid;grid-template-columns:minmax(130px,220px) minmax(0,1fr);gap:8px 16px;padding:15px;border:1px solid var(--stroke,#544269);border-radius:10px}
.editorial-detail dt{font-weight:700;color:#cbb0ee}
.editorial-detail dd{margin:0;overflow-wrap:anywhere}
.editorial-correct{font-weight:750;border-left:3px solid #ac89dc;padding-left:12px}
#editorial-question-content>p,#editorial-blueprint-detail p{white-space:pre-wrap;overflow-wrap:anywhere}
#editorial-question-preview form,#editorial-blueprint-form,#editorial-publish-form{display:grid;gap:12px}
#editorial-question-preview form[hidden],#editorial-publish-form[hidden]{display:none}
#editorial-blueprint-json{font-family:ui-monospace,Menlo,Consolas,monospace;min-height:200px}
#editorial-question-status[data-error=true],#editorial-publish-status[data-error=true],
#editorial-blueprint-draft-status[data-error=true]{color:#ffd8e2}
#editorial-question-preview li{padding:4px 0}
@media(max-width:640px){.editorial-detail{grid-template-columns:1fr;gap:2px}.editorial-detail dd{margin:0 0 12px}.editorial-controls{align-items:stretch;flex-direction:column}.editorial-controls select,.editorial-controls input,.editorial-controls button{width:100%}}

#editorial-question-preview textarea,#editorial-blueprint-form textarea,#editorial-publish-form textarea{
  width:100%;box-sizing:border-box;resize:vertical;min-height:90px;
  border:1px solid #68567d;border-radius:10px;background:#100e1e;color:#fff;
  font:inherit;line-height:1.5;padding:12px;
}
#editorial-question-preview textarea:focus-visible,#editorial-blueprint-form textarea:focus-visible,
#editorial-publish-form textarea:focus-visible{outline:3px solid #b18cf4;outline-offset:2px}
#editorial-question-preview input[type=checkbox],#editorial-blueprint-form input[type=checkbox],
#editorial-publish-form input[type=checkbox]{width:auto;height:19px;min-width:19px;margin-right:10px;vertical-align:middle;accent-color:#b18cf4}
#editorial-question-preview label:has(input[type=checkbox]),#editorial-blueprint-form label:has(input[type=checkbox]),
#editorial-publish-form label:has(input[type=checkbox]){display:block;line-height:1.6}
@media(min-width:641px){.editorial-controls button{width:auto}}

/* Preserve grouped answer semantics and a visible keyboard destination. */
fieldset.exam-question{width:100%}
.exam-question legend{max-width:100%;overflow-wrap:anywhere;line-height:1.55;padding:0 .25rem}
.exam-top h2:focus{outline:3px solid #b18cf4;outline-offset:4px}
.exam-option input:focus-visible{outline:3px solid #fff;outline-offset:3px}
