/* ============================================================
   NBME EXAM FORMAT — html[data-exam-format="nbme"]

   Matches the LIVE NBME test-delivery software (Chris's screenshot of
   starttest.com): left "Question Status" rail listing every item, a
   boxed "Item: 32 of 50 / Block: 3 of 5" top-left, Previous · 32/50 ·
   Next centred, tool icons top-right, options in a bordered box with
   "A." letters and an "ab" strike glyph, blue "Proceed to Next Item",
   navy timer box bottom-left, Pause centre, End Block right.

   Pure CSS over the existing markup — engine, grading, stats and
   shortcuts are unchanged. Only the assessment overlay is affected.
   ============================================================ */

/* Default (Arcanium) look: the plain-choice letter stays hidden. */
#assessment-session-page .hoad-choice-letter--plain { display: none; }

html[data-exam-format="nbme"] {
    --nbme-navy: #1e3a6e;
    --nbme-navy-dark: #172d57;
    --nbme-ink: #111;
    --nbme-line: #b9c2cf;
    --nbme-page: #ffffff;
    --nbme-rail: #e6e9ee;
    --nbme-blue: #2f6fd8;
    --nbme-highlight: #ffff33;
    --nbme-font: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
/* Text size lives on the panel so it can read the panel's own --q-scale (the AA button). */
html[data-exam-format="nbme"] .arena-question-panel { --nbme-fs: calc(14.5px * var(--q-scale, 1)); }

/* ---- page & shell: flat white ---- */
html[data-exam-format="nbme"] #assessment-session-page {
    background: var(--nbme-page) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    font-family: var(--nbme-font); color: var(--nbme-ink);
}
html[data-exam-format="nbme"] #assessment-session-page::before,
html[data-exam-format="nbme"] #assessment-session-page::before,
html[data-exam-format="nbme"] .assessment-session-topbar::after { display: none !important; content: none !important; }
html[data-exam-format="nbme"] .assessment-session-shell {
    background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
    max-width: none !important; padding: 0 !important;
}

/* ============ TOP BAR ============
   [Item: N of M / Block: 1 of 1] [Exam name] …  (Prev)  N / M  (Next)  …  [lab][notes][calc][gear] */
html[data-exam-format="nbme"] .assessment-session-topbar {
    position: relative; display: grid !important; grid-template-columns: auto 1fr auto 1fr auto; align-items: center !important;
    background: var(--nbme-navy) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; padding: 0 18px 0 18px !important; height: 66px !important; min-height: 66px !important; backdrop-filter: none !important; gap: 16px;
    grid-template-columns: auto 1fr !important;
}
html[data-exam-format="nbme"] .assessment-session-topbar::before { display: none !important; content: none !important; }
/* Centred exam lockup: "NBME Comprehensive Exam" over the custom-assessment name */
html[data-exam-format="nbme"] .arena-nbme-title {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 1;
    text-align: center; color: #fff; white-space: nowrap; pointer-events: none;
}
html[data-exam-format="nbme"] .arena-nbme-title strong { display: block; font: 700 15.5px/1.25 var(--nbme-font); letter-spacing: .2px; }
html[data-exam-format="nbme"] .arena-nbme-title span { display: block; font: 400 12.5px/1.25 var(--nbme-font); color: #dbe3f0; }
html[data-exam-format="nbme"] .assessment-session-topbar * { color: #fff !important; }
html[data-exam-format="nbme"] .arena-topbar-brand, html[data-exam-format="nbme"] .arena-topbar-domain, html[data-exam-format="nbme"] .arena-brand-float,
html[data-exam-format="nbme"] .arena-theme-picker, html[data-exam-format="nbme"] #assessmentSessionStatus,
html[data-exam-format="nbme"] .study-tank-toggle, html[data-exam-format="nbme"] [data-study-tank-toggle],
html[data-exam-format="nbme"] .assessment-session-topbar .section-label,
html[data-exam-format="nbme"] .arena-topbar-meta > *:not(#assessmentSessionProgress):not(#assessmentSessionTimer) { display: none !important; }
html[data-exam-format="nbme"] .arena-topbar-copy { display: contents !important; }
html[data-exam-format="nbme"] .arena-topbar-meta { display: contents !important; }
/* Item box (top-left) — the progress pill restyled as the white boxed "Item: N of M / Block" */
html[data-exam-format="nbme"] #assessmentSessionProgress {
    grid-column: 1; grid-row: 1; justify-self: start; position: relative;
    background: #fff !important; color: #000 !important; border: 1px solid #000 !important; border-radius: 2px !important; box-shadow: 0 1px 0 rgba(0,0,0,.35) !important;
    font: 700 14px/1.3 var(--nbme-font) !important; padding: 5px 10px 20px !important; letter-spacing: 0 !important; text-transform: none !important; min-width: 118px;
}
html[data-exam-format="nbme"] #assessmentSessionProgress { font-size: 0 !important; }
html[data-exam-format="nbme"] #assessmentSessionProgress::before { content: 'Item: ' attr(data-nbme-item); font: 700 14px/1.3 var(--nbme-font); color: #000; }
html[data-exam-format="nbme"] #assessmentSessionProgress::after { content: 'Block: 1 of 1'; position: absolute; left: 10px; bottom: 4px; font: 700 13px/1.3 var(--nbme-font); color: #000; }
/* Exam name next to the box */
html[data-exam-format="nbme"] .arena-topbar-title-row, html[data-exam-format="nbme"] #assessmentSessionTitle { display: none !important; }
html[data-exam-format="nbme"] #assessmentSessionSubtitle { display: none !important; }
/* Timer moves to bottom-left navy box (below); hide here */
html[data-exam-format="nbme"] #assessmentSessionTimer {
    position: fixed !important; left: 16px; bottom: 9px; z-index: 60;
    background: var(--nbme-navy-dark) !important; border: 2px solid #fff !important; border-radius: 2px !important; box-shadow: none !important;
    font: 700 18px/1.25 "Courier New", monospace !important; padding: 7px 14px !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; min-width: 88px; text-align: center;
}
/* Exit → "End Block" bottom-right with a red ⊗ */
html[data-exam-format="nbme"] .assessment-session-close {
    position: fixed !important; right: 24px; bottom: 8px; z-index: 60; transform: none !important;
    background: none !important; border: 0 !important; box-shadow: none !important; color: #fff !important;
    font: 700 11px/1 var(--nbme-font) !important; padding: 0 !important; display: flex !important; flex-direction: column; align-items: center; gap: 3px;
    font-size: 0 !important;
}
html[data-exam-format="nbme"] .assessment-session-close::before {
    content: '\2716'; width: 26px; height: 26px; border-radius: 50%; background: #d9534f; color: #fff; display: flex; align-items: center; justify-content: center; font: 700 13px/1 var(--nbme-font); box-shadow: 0 0 0 2px #fff;
}
html[data-exam-format="nbme"] .assessment-session-close::after { content: 'End Block'; font: 700 12px/1 var(--nbme-font); color: #fff; }
/* Top-right tool icons: Lab Values (real) + notes/calc/gear (visual — the real ones aren't built) */
html[data-exam-format="nbme"] .assessment-session-topbar .arena-lab-values-toggle,
html[data-exam-format="nbme"] [data-lab-values-toggle] { display: inline-flex !important; grid-column: 5; grid-row: 1; justify-self: end; }
html[data-exam-format="nbme"] .arena-topbar-tools { position: fixed; bottom: 5px; right: 116px; z-index: 60; display: flex; gap: 4px; align-items: flex-end; }
html[data-exam-format="nbme"] .arena-topbar-tools .nbme-tool {
    background: none; border: 0; border-radius: 4px; padding: 4px 8px 3px; min-width: 64px; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; gap: 4px; color: #fff !important; font: 600 11.5px/1 var(--nbme-font); white-space: nowrap; letter-spacing: .1px;
}
html[data-exam-format="nbme"] .arena-topbar-tools .nbme-tool:hover, html[data-exam-format="nbme"] .arena-topbar-tools .nbme-tool.is-on { background: rgba(255,255,255,.14); }
html[data-exam-format="nbme"] .arena-topbar-tools .nbme-tool svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; display: block; }
html[data-exam-format="nbme"] .arena-topbar-tools .nbme-tool span { color: #fff !important; }
/* NBME tool pop-ups (Notes / Calculator) */
html[data-exam-format="nbme"] .nbme-pop {
    position: fixed; bottom: 74px; right: 18px; top: auto; z-index: 1360; background: #fff; border: 1px solid #8e99a8; border-top: 4px solid var(--nbme-navy); border-radius: 3px;
    box-shadow: 0 10px 28px rgba(0,0,0,.22); font: 400 13px/1.4 var(--nbme-font); color: #111; width: 300px;
}
html[data-exam-format="nbme"] .nbme-pop[data-kind="notes"] { right: 336px; width: 320px; bottom: 74px; top: auto; }
html[data-exam-format="nbme"] .nbme-pop-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; background: #eef1f5; border-bottom: 1px solid #cfd6df; font-weight: 700; cursor: move; }
html[data-exam-format="nbme"] .nbme-pop-close { background: none; border: 0; font-size: 16px; line-height: 1; cursor: pointer; color: #333; padding: 0 4px; }
html[data-exam-format="nbme"] .nbme-pop textarea { display: block; width: 100%; box-sizing: border-box; height: 180px; border: 0; padding: 10px; font: 400 13px/1.45 var(--nbme-font); resize: vertical; outline: none; }
html[data-exam-format="nbme"] .nbme-calc { padding: 10px; }
html[data-exam-format="nbme"] .nbme-calc-display { border: 1px solid #b9c2cf; background: #f7f9fb; text-align: right; font: 400 22px/1.3 "Courier New", monospace; padding: 8px 10px; margin-bottom: 8px; min-height: 42px; overflow: hidden; }
html[data-exam-format="nbme"] .nbme-calc-keys { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
html[data-exam-format="nbme"] .nbme-calc-keys button { height: 40px; border: 1px solid #b9c2cf; background: #fff; border-radius: 3px; font: 400 16px/1 var(--nbme-font); cursor: pointer; color: #111; }
html[data-exam-format="nbme"] .nbme-calc-keys button:hover { background: #eef1f5; }
html[data-exam-format="nbme"] .nbme-calc-keys button.op { background: #e9eef7; color: var(--nbme-navy); font-weight: 700; }
html[data-exam-format="nbme"] .nbme-calc-keys button.eq { background: var(--nbme-blue); color: #fff; border-color: #1f4fa8; grid-column: span 2; }
html[data-exam-format="nbme"] .nbme-calc-keys button.wide { grid-column: span 2; }


/* Floating study widgets: none on the real exam */
html[data-exam-format="nbme"][data-nbme-open] #studyTimerWidget, html[data-exam-format="nbme"][data-nbme-open] .study-timer-widget,
html[data-exam-format="nbme"][data-nbme-open] #studyTimerRestore, html[data-exam-format="nbme"][data-nbme-open] .study-timer-restore, html[data-exam-format="nbme"][data-nbme-open] .study-tank { display: none !important; }
/* Only while the NBME block is actually on screen — the builder page keeps the bubble where it always is. */
html[data-exam-format="nbme"][data-nbme-open] .fbw-den { bottom: 70px !important; right: 18px !important; }

/* ============ QUESTION STATUS RAIL (left) ============ */
html[data-exam-format="nbme"] #assessment-arena { background: #fff !important; gap: 0 !important; padding: 0 !important; display: block !important; margin: 0 !important; }
html[data-exam-format="nbme"] #assessmentSessionContent { padding: 0 !important; margin: 0 !important; }
html[data-exam-format="nbme"] .arena-sidebar {
    display: none !important; background: var(--nbme-rail) !important; border: 0 !important; border-right: 1px solid #9aa4b2 !important;
    border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; min-height: calc(100vh - 66px);
    position: static !important; top: auto !important; align-self: stretch !important; margin: 0 !important; height: auto !important; max-height: none !important;
}
html[data-exam-format="nbme"] .arena-sidebar::before {
    content: 'Question Status'; display: block; background: #d9dee6; color: #000; font: 700 13px/1.2 var(--nbme-font);
    text-align: center; padding: 9px 4px; border-bottom: 1px solid #9aa4b2;
}
html[data-exam-format="nbme"] .arena-sidebar .section-label, html[data-exam-format="nbme"] .arena-sidebar h4,
html[data-exam-format="nbme"] .arena-sidebar-copy, html[data-exam-format="nbme"] .arena-sidebar-stats { display: none !important; }
html[data-exam-format="nbme"] .arena-sidebar-grid { display: block !important; gap: 0 !important; padding: 6px 0 !important; }
html[data-exam-format="nbme"] .arena-nav-button {
    display: flex !important; align-items: center; gap: 8px; width: 100% !important; text-align: left !important;
    border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
    color: #000 !important; font: 400 13.5px/1 var(--nbme-font) !important; padding: 0 10px !important; min-height: 22px !important; height: 22px;
}
html[data-exam-format="nbme"] .arena-nav-button::before {
    content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; border: 1px solid #555; box-sizing: border-box; flex: 0 0 auto;
}
html[data-exam-format="nbme"] .arena-nav-button.is-current { background: var(--nbme-navy) !important; color: #fff !important; }
html[data-exam-format="nbme"] .arena-nav-button.is-current::before { background: var(--nbme-navy); border-color: #fff; }
html[data-exam-format="nbme"] .arena-nav-button.is-current.is-submitted::before, html[data-exam-format="nbme"] .arena-nav-button.is-current.is-answered::before { background: #fff; }
/* answered / marked: subtle */
html[data-exam-format="nbme"] .arena-nav-button.is-answered::before, html[data-exam-format="nbme"] .arena-nav-button.is-submitted::before { background: var(--nbme-navy); border-color: var(--nbme-navy); }
html[data-exam-format="nbme"] .arena-nav-button.is-flagged::after { content: ''; position: static !important; border: 0 !important; width: 11px; height: 11px; margin-left: auto; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 1.5v13' stroke='%23333' stroke-width='1.6' stroke-linecap='round'/><path d='M4 2h8.5l-2.4 3.2 2.4 3.3H4z' fill='%23d9534f'/></svg>") center/contain no-repeat; }

/* ============ ITEM AREA ============ */
html[data-exam-format="nbme"] .arena-main { padding: 0 !important; margin: 0 !important; }
html[data-exam-format="nbme"] .arena-main > *:first-child { margin-top: 0 !important; }
html[data-exam-format="nbme"] .arena-question-panel {
    background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    padding: 12px 48px 110px 30px !important; max-width: none !important; min-height: calc(100vh - 66px);
}
/* head: only the AA + reset stay as small controls; the flag becomes "Mark Question" above the stem */
html[data-exam-format="nbme"] .arena-panel-head { border: 0 !important; padding: 0 !important; margin: 0 0 12px !important; background: none !important; display: flex !important; justify-content: space-between !important; align-items: center; }
html[data-exam-format="nbme"] .arena-panel-head .section-label, html[data-exam-format="nbme"] .arena-panel-head h4,
html[data-exam-format="nbme"] .arena-feedback-status, html[data-exam-format="nbme"] .arena-question-meta, html[data-exam-format="nbme"] .arena-question-set { display: none !important; }
html[data-exam-format="nbme"] .arena-panel-head-actions { display: flex; align-items: center; gap: 8px; width: 100%; }
html[data-exam-format="nbme"] .hoad-question-flag {
    order: -1; margin-right: auto; background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
    color: #000 !important; font: 400 12.5px/1 var(--nbme-font) !important; display: inline-flex !important; align-items: center; gap: 4px; font-size: 0 !important;
    width: auto !important; min-width: 0 !important; height: auto !important; white-space: nowrap; line-height: 1 !important;
}
html[data-exam-format="nbme"] .hoad-question-flag > * { display: none !important; }
html[data-exam-format="nbme"] .hoad-question-flag::before { content: ''; width: 13px; height: 13px; border: 1px solid #333; background: #fff; box-sizing: border-box; display: inline-block; }
html[data-exam-format="nbme"] .hoad-question-flag[aria-pressed="true"]::before { background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M2 5.2 L4.2 7.4 L8.2 2.6' stroke='%23000' stroke-width='1.8' fill='none'/></svg>") center/contain no-repeat; }
html[data-exam-format="nbme"] .hoad-question-flag::after {
    content: 'Mark Question'; font: 400 13.5px/1 var(--nbme-font); color: #000; padding-left: 20px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 1.5v13' stroke='%23333' stroke-width='1.6' stroke-linecap='round'/><path d='M4 2h8.5l-2.4 3.2 2.4 3.3H4z' fill='%23d9534f'/></svg>") left center/15px 15px no-repeat;
}
html[data-exam-format="nbme"] .hoad-question-flag[aria-pressed="true"]::after { color: #c0392b; font-weight: 700; }
html[data-exam-format="nbme"] .hoad-text-size, html[data-exam-format="nbme"] .hoad-question-reset {
    background: #fff !important; border: 1px solid var(--nbme-line) !important; border-radius: 2px !important; color: #333 !important; box-shadow: none !important; font-size: 12px !important; padding: 2px 6px !important;
}

/* stem: plain, no inline number (the live software doesn't number the stem) */
html[data-exam-format="nbme"] .hoad-assessment-question {
    position: relative; font: 400 var(--nbme-fs)/1.5 var(--nbme-font) !important; color: var(--nbme-ink) !important;
    max-width: none; margin: 0 0 18px 0 !important; letter-spacing: 0 !important; line-height: 1.6 !important;
}
html[data-exam-format="nbme"] .hoad-assessment-question::before { content: none !important; }
html[data-exam-format="nbme"] .hoad-assessment-question mark, html[data-exam-format="nbme"] .hoad-assessment-question .arena-highlight { background: var(--nbme-highlight); }
/* graded verdict mark, left of the stem */
html[data-exam-format="nbme"] .arena-question-panel[data-nbme-verdict] .hoad-assessment-question { padding-left: 18px; }
html[data-exam-format="nbme"] .arena-question-panel[data-nbme-verdict="right"] .hoad-assessment-question::after,
html[data-exam-format="nbme"] .arena-question-panel[data-nbme-verdict="wrong"] .hoad-assessment-question::after { position: absolute; left: 0; top: 0; font-size: 14px; font-weight: 700; }
html[data-exam-format="nbme"] .arena-question-panel[data-nbme-verdict="right"] .hoad-assessment-question::after { content: '\2713'; color: var(--nbme-navy); }
html[data-exam-format="nbme"] .arena-question-panel[data-nbme-verdict="wrong"] .hoad-assessment-question::after { content: '\2717'; color: #c0392b; }

/* lab table & figures: plain */
html[data-exam-format="nbme"] .hoad-lab-table-slot table, html[data-exam-format="nbme"] .hoad-lab-table {
    border-collapse: collapse !important; font: 400 calc(13px * var(--q-scale, 1))/1.35 var(--nbme-font) !important; color: var(--nbme-ink) !important;
    background: #fff !important; box-shadow: none !important; border-radius: 0 !important;
}
html[data-exam-format="nbme"] .hoad-lab-table-slot td, html[data-exam-format="nbme"] .hoad-lab-table-slot th { border: 1px solid var(--nbme-line) !important; padding: 3px 8px !important; background: #fff !important; }
html[data-exam-format="nbme"] .hoad-question-figure, html[data-exam-format="nbme"] .hoad-question-figure-btn { border: 1px solid var(--nbme-line) !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
html[data-exam-format="nbme"] .hoad-question-figure-hint { display: none !important; }

/* ============ OPTIONS: bordered box, "A." + radio, "ab" strike glyph on the right ============ */
html[data-exam-format="nbme"] .hoad-assessment-choices {
    display: inline-flex !important; flex-direction: column; gap: 0 !important; margin: 4px 0 14px !important;
    border: 1px solid #333 !important; border-bottom: 3px solid var(--nbme-navy) !important; padding: 10px 14px 6px 10px !important; min-width: 360px; max-width: 96ch; background: #fff;
}
html[data-exam-format="nbme"] .hoad-choice-row { border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; align-items: center !important; gap: 14px !important; justify-content: space-between !important; }
html[data-exam-format="nbme"] .hoad-assessment-choice {
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 5px 2px !important;
    transform: none !important; width: auto !important; flex: 1 1 auto !important; font: 400 var(--nbme-fs)/1.45 var(--nbme-font) !important; color: var(--nbme-ink) !important; text-align: left !important; padding: 7px 4px !important;
}
html[data-exam-format="nbme"] .hoad-assessment-choice:hover { background: #f4f6f9 !important; }
html[data-exam-format="nbme"] .hoad-choice-body { display: inline-flex !important; align-items: center !important; }
html[data-exam-format="nbme"] .hoad-choice-body::before {
    content: ''; display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid #555; background: #fff; margin: 0 8px 0 0; flex: 0 0 auto; box-sizing: border-box;
}
html[data-exam-format="nbme"] .hoad-assessment-choice.is-selected .hoad-choice-body::before,
html[data-exam-format="nbme"] .hoad-assessment-choice.is-wrong .hoad-choice-body::before { background: radial-gradient(circle, #222 0 3px, #fff 3.5px); }
html[data-exam-format="nbme"] .hoad-choice-letter, html[data-exam-format="nbme"] .hoad-choice-letter--plain {
    display: inline-block !important; min-width: 0 !important; width: auto !important; height: auto !important; margin: 0 4px 0 0 !important; padding: 0 !important;
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: var(--nbme-ink) !important; font: 400 var(--nbme-fs)/1.4 var(--nbme-font) !important;
}
html[data-exam-format="nbme"] .hoad-choice-letter--plain::after { content: '.'; }
html[data-exam-format="nbme"] .hoad-choice-letter--plain { min-width: 22px !important; }
/* correct → yellow highlight on text; missed pick → red ✕ after */
html[data-exam-format="nbme"] .hoad-assessment-choice.is-correct { background: none !important; }
html[data-exam-format="nbme"] .hoad-assessment-choice.is-correct .hoad-choice-body > span:not(.hoad-choice-letter):not(.hoad-choice-letter--plain),
html[data-exam-format="nbme"] .hoad-assessment-choice.is-correct .hoad-choice-letter--plain { background: var(--nbme-highlight); }
html[data-exam-format="nbme"] .hoad-assessment-choice.is-wrong { background: none !important; }
html[data-exam-format="nbme"] .hoad-assessment-choice.is-wrong .hoad-choice-body::after { content: '\2715'; color: #c0392b; font-weight: 700; margin-left: 8px; font-size: 12px; }
/* the "ab" strike-through glyph, right side of each row */
html[data-exam-format="nbme"] .hoad-choice-strike, html[data-exam-format="nbme"] .arena-choice-strike {
    display: inline-block !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    width: auto !important; height: auto !important; padding: 0 2px !important; color: #333 !important; font-size: 0 !important; line-height: 1 !important; opacity: 1 !important;
}
html[data-exam-format="nbme"] .hoad-choice-strike::before, html[data-exam-format="nbme"] .arena-choice-strike::before {
    content: 'ab'; font: 400 13px/1 var(--nbme-font); color: #333; text-decoration: line-through;
}
/* struck option text renders struck through, like the real thing */
html[data-exam-format="nbme"] .hoad-assessment-choice.is-struck .hoad-choice-body > span:not(.hoad-choice-letter):not(.hoad-choice-letter--plain),
html[data-exam-format="nbme"] .hoad-choice-row.is-struck .hoad-choice-body > span:not(.hoad-choice-letter):not(.hoad-choice-letter--plain) { text-decoration: line-through; color: #777; }
/* ---- option TABLES (arrows / values in columns): a real NBME-style grid inside the box ----
   The header and every row share one grid: [radio+letter] then one column per heading. The
   generic inline-flex body rule above is overridden here so the cells line up under the headings. */
/* Header and rows are separate grids, so they only line up if every column is the SAME width
   in both: equal fractions of one shared box width. Headings wrap; the box spans the stem width. */
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table { --nbme-tbl-cols: repeat(var(--hoad-option-cols, 2), minmax(0, 1fr)); display: flex !important; flex-direction: column; width: 100%; box-sizing: border-box; }
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-option-table-head {
    display: grid !important; grid-template-columns: 52px var(--nbme-tbl-cols) !important; gap: 0 28px !important; align-items: end !important;
    /* right pad = the row's strike control (18px) + its gap (14px) + the choice's own 4px pad, so
       the header grid is exactly as wide as the row grid and the columns line up */
    padding: 4px 36px 8px 4px !important; margin: 0 0 4px !important; border-bottom: 1px solid #333 !important; box-sizing: border-box; width: 100%;
    font: 700 var(--nbme-fs)/1.25 var(--nbme-font) !important; color: var(--nbme-ink) !important; text-align: center !important;
}
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-option-table-head .hoad-choice-letter { display: block !important; width: auto !important; min-width: 0 !important; margin: 0 !important; }
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-option-table-head span { color: var(--nbme-ink) !important; font: inherit !important; white-space: normal; overflow-wrap: anywhere; min-width: 0; }
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-choice-row { width: 100%; }
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-assessment-choice { width: 100% !important; }
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table .hoad-assessment-choice > span:first-child { display: block; width: 100%; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-body {
    display: grid !important; grid-template-columns: 52px var(--nbme-tbl-cols) !important; gap: 0 28px !important; align-items: center !important; width: 100%;
}
/* first cell = radio + letter together */
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-body::before { grid-column: 1; grid-row: 1; margin: 0 !important; justify-self: start; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-letter { grid-column: 1; grid-row: 1; justify-self: start; margin: 0 0 0 22px !important; min-width: 0 !important; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-letter::after { content: '.'; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-cell { text-align: center !important; justify-self: stretch !important; display: block !important; font: 400 var(--nbme-fs)/1.4 var(--nbme-font); color: var(--nbme-ink); white-space: normal; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-cell.is-full-row { grid-column: 2 / -1; white-space: normal; text-align: left !important; }
/* stacked-table variant keeps its label: value lines, one per row */
html[data-exam-format="nbme"] .hoad-assessment-choices.is-stacked-table .hoad-assessment-choice.has-choice-cells .hoad-choice-body { grid-template-columns: 52px minmax(0, 1fr) !important; gap: 2px 20px !important; }
html[data-exam-format="nbme"] .hoad-assessment-choices.is-stacked-table .hoad-choice-cell { grid-column: 2; white-space: normal; text-align: left !important; }
html[data-exam-format="nbme"] .hoad-assessment-choices.is-stacked-table .hoad-choice-cell[data-column]:not([data-column=""])::before { content: attr(data-column) ": "; font-weight: 700; color: var(--nbme-ink); }
/* graded states on table rows: highlight the whole row's cells */
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells.is-correct .hoad-choice-cell { background: var(--nbme-highlight); padding: 0 4px; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .hoad-choice-body { position: relative; }
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells.is-wrong .hoad-choice-body::after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }
/* the graded row's toggle wrapper must not steal width from the grid */
html[data-exam-format="nbme"] .hoad-assessment-choice.has-choice-cells .choice-explanation-toggle { display: block !important; gap: 0 !important; }
/* the box grows to fit the table but never past the stem width */
html[data-exam-format="nbme"] .hoad-assessment-choices.has-option-table { max-width: 96ch; }

/* extras: off */
html[data-exam-format="nbme"] .hoad-choice-pct, html[data-exam-format="nbme"] .choice-community-line, html[data-exam-format="nbme"] .arena-confetti, html[data-exam-format="nbme"] .choice-explanation-glyph { display: none !important; }

/* explanation: plain black paragraphs under the option box */
html[data-exam-format="nbme"] .choice-explanation, html[data-exam-format="nbme"] .arena-feedback {
    background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: var(--nbme-ink) !important;
    font: 400 var(--nbme-fs)/1.5 var(--nbme-font) !important; padding: 8px 0 4px !important; margin: 0 !important; max-width: 90ch;
}
html[data-exam-format="nbme"] .choice-explanation p, html[data-exam-format="nbme"] .choice-explanation div { font: inherit !important; color: inherit !important; }
html[data-exam-format="nbme"] .choice-teaching-point { color: var(--nbme-ink) !important; }

/* ============ NAV: "Proceed to Next Item" blue button under the box + top-centre Prev/Next mirror + bottom bar ============ */
html[data-exam-format="nbme"] .hoad-assessment-nav { display: block !important; border: 0 !important; margin: 4px 0 0 !important; padding: 0 !important; background: none !important; }
html[data-exam-format="nbme"] .hoad-assessment-nav-group { display: flex !important; gap: 8px !important; }
html[data-exam-format="nbme"] .hoad-assessment-arrow {
    background: linear-gradient(180deg, #4a86e8, #2f6fd8) !important; border: 1px solid #1f4fa8 !important; border-radius: 3px !important; box-shadow: none !important;
    color: #fff !important; font: 400 13.5px/1 var(--nbme-font) !important; padding: 8px 14px !important; min-width: 0 !important; font-size: 0 !important; height: auto !important; width: auto !important;
}
html[data-exam-format="nbme"] .hoad-assessment-arrow[data-hoad-next]::after { content: 'Proceed to Next Item'; font: 400 13.5px/1 var(--nbme-font); color: #fff; }
html[data-exam-format="nbme"] .hoad-assessment-arrow[data-hoad-prev]::after { content: 'Previous Item'; font: 400 13.5px/1 var(--nbme-font); color: #fff; }
html[data-exam-format="nbme"] .hoad-assessment-arrow[data-hoad-prev] { background: linear-gradient(180deg, #f5f7fa, #dfe4ea) !important; border-color: #9aa4b2 !important; }
html[data-exam-format="nbme"] .hoad-assessment-arrow[data-hoad-prev]::after { color: #222; }
/* bottom navy bar with Pause in the middle */
html[data-exam-format="nbme"] .assessment-session-shell::after {
    content: ''; display: block; position: fixed; left: 0; right: 0; bottom: 0; top: auto; height: 60px; background: var(--nbme-navy); z-index: 55; pointer-events: none;
}
html[data-exam-format="nbme"] #assessment-session-page::after { display: none !important; content: none !important; }
html[data-exam-format="nbme"] .arena-nbme-pause { display: none !important; }

/* ---- Review screen: every item as a rectangle with its status square ---- */
html[data-exam-format="nbme"] .nbme-review {
    position: fixed; left: 0; right: 0; top: 66px; bottom: 60px; z-index: 1345; background: #fff; overflow: auto;
    font-family: var(--nbme-font); color: var(--nbme-ink); padding: 20px 30px 30px;
}
html[data-exam-format="nbme"] .nbme-review-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #9aa4b2; padding-bottom: 10px; margin-bottom: 4px; }
html[data-exam-format="nbme"] .nbme-review-head h2 { margin: 0; font: 700 17px/1.2 var(--nbme-font); color: var(--nbme-ink); }
html[data-exam-format="nbme"] .nbme-review-hint { font: 400 12.5px/1.4 var(--nbme-font); color: #333; margin: 0 0 14px; }
html[data-exam-format="nbme"] .nbme-review-legend { display: flex; gap: 16px; font: 400 12.5px/1 var(--nbme-font); color: #333; flex-wrap: wrap; }
html[data-exam-format="nbme"] .nbme-review-legend b { display: inline-flex; width: 18px; height: 18px; border: 1px solid #666; align-items: center; justify-content: center; font: 700 11px/1 var(--nbme-font); margin-right: 5px; vertical-align: middle; background: #fff; }
html[data-exam-format="nbme"] .nbme-review-legend .lg-c b { background: #2e7d32; color: #fff; border-color: #256628; }
html[data-exam-format="nbme"] .nbme-review-legend .lg-m b { background: #fff3b0; }
html[data-exam-format="nbme"] .nbme-review-return {
    background: linear-gradient(180deg, #4a86e8, #2f6fd8); border: 1px solid #1f4fa8; border-radius: 3px; color: #fff;
    font: 400 13.5px/1 var(--nbme-font); padding: 8px 14px; cursor: pointer;
}
html[data-exam-format="nbme"] .nbme-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 34px; align-content: start; }
html[data-exam-format="nbme"] .nbme-review-item {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer;
    border: 0; border-bottom: 1px solid #cfd6df; background: #fff; padding: 6px 4px; font: 400 13.5px/1.2 var(--nbme-font); color: var(--nbme-ink); text-align: left;
}
html[data-exam-format="nbme"] .nbme-review-item > span:first-child { color: #1f4fa8; text-decoration: underline; }
html[data-exam-format="nbme"] .nbme-review-item:hover { background: #eef2f8; }
html[data-exam-format="nbme"] .nbme-review-item.is-flagged { background: #fff3b0; }
html[data-exam-format="nbme"] .nbme-review-item.is-flagged:hover { background: #ffec86; }
html[data-exam-format="nbme"] .nbme-review-status { flex: 0 0 auto; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border: 1px solid #666; background: #fff; font: 700 12px/1 var(--nbme-font); }
html[data-exam-format="nbme"] .nbme-review-item.is-complete .nbme-review-status { background: #2e7d32; color: #fff; border-color: #256628; }

/* ---- Pause cover: blue bar stays, everything else goes white ---- */
html[data-exam-format="nbme"] .nbme-pause-cover {
    position: fixed; left: 0; right: 0; top: 66px; bottom: 0; z-index: 1346; background: #fff;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
    font-family: var(--nbme-font); color: var(--nbme-ink); text-align: center; padding: 24px;
}
html[data-exam-format="nbme"] .nbme-pause-cover h2 { margin: 0; font: 700 20px/1.3 var(--nbme-font); color: var(--nbme-ink); }
html[data-exam-format="nbme"] .nbme-pause-cover p { margin: 0 0 10px; font: 400 14px/1.5 var(--nbme-font); color: #333; }
html[data-exam-format="nbme"] .nbme-pause-cover .nbme-review-return { font-size: 14px; padding: 10px 18px; }
/* top-centre Prev · N/M · Next mirror */
html[data-exam-format="nbme"] .arena-nbme-topnav { position: fixed; top: 0; height: 66px; left: 50%; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 22px; color: #fff; font: 700 16px/1 var(--nbme-font); }
html[data-exam-format="nbme"] .arena-nbme-topnav button { background: none; border: 0; color: #fff; display: flex; flex-direction: column; align-items: center; gap: 4px; font: 600 11.5px/1 var(--nbme-font); cursor: pointer; padding: 4px 6px; border-radius: 4px; }
html[data-exam-format="nbme"] .arena-nbme-topnav button:hover { background: rgba(255,255,255,.14); }
html[data-exam-format="nbme"] .arena-nbme-topnav button::before { content: '\2190'; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--nbme-navy); display: flex; align-items: center; justify-content: center; font: 700 18px/1 var(--nbme-font); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
html[data-exam-format="nbme"] .arena-nbme-topnav button[data-dir="next"]::before { content: '\2192'; }

html[data-exam-format="nbme"] .arena-summary-card { background: #fff !important; border: 1px solid var(--nbme-line) !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--nbme-font); margin: 20px 40px !important; }
html[data-exam-format="nbme"] #assessment-session-page * { transition-duration: 0s !important; animation: none !important; }


/* ============================================================
   Score splash — shared by NBME Format and ExamSim (never Arcanium).
   Covers the screen while the block is being "scored", then reveals
   the summary. Deliberately unscoped: exam-format.js only mounts it
   in the non-Arcanium formats.
   ============================================================ */
.arena-score-splash {
    position: fixed; inset: 0; z-index: 3000; background: linear-gradient(160deg, #f7fafd 0%, #e8eef7 60%, #dce6f3 100%);
    display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity .45s ease;
}
.arena-score-splash.is-done { opacity: 0; pointer-events: none; }
.arena-score-splash-inner { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
/* the REAL site lockup (styles.css .brand-*), scaled up for the splash */
.arena-score-splash .arena-score-splash-brand { display: inline-flex; align-items: center; gap: 12px; }
.arena-score-splash .brand-pulse-dot { width: 16px; height: 16px; }
.arena-score-splash .brand-wordmark-auc { font-size: 42px; }
.arena-score-splash .brand-wordmark-companion { font-size: 42px; }
.arena-score-splash-msg { font: 400 15.5px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #334155; }
.arena-score-splash-bar { width: 280px; height: 6px; border-radius: 3px; background: rgba(7, 89, 133, .14); overflow: hidden; }
.arena-score-splash-bar i { display: block; height: 100%; width: 0; border-radius: 3px; background: linear-gradient(90deg, #10b981, #0a84ff); animation: arena-splash-fill var(--splash-ms, 5000ms) linear forwards; }
@keyframes arena-splash-fill { from { width: 0; } to { width: 100%; } }


/* ---- Arcanium badge on the simulated formats: small, out of the way, always there ---- */
.arena-sim-ad {
    /* rides above even the image lightbox (z 200, same page context) — the badge is the one
       piece of chrome meant to stay visible everywhere */
    position: fixed; left: 14px; bottom: 68px; z-index: 4010; pointer-events: none;
    display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px 6px 9px; border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(243, 248, 255, 0.95));
    border: 1px solid rgba(10, 132, 255, 0.22); box-shadow: 0 6px 18px rgba(15, 23, 42, 0.14);
    opacity: .94;
}
.arena-sim-ad .brand-pulse-dot { width: 9px; height: 9px; }
.arena-sim-ad .brand-wordmark-auc { font-size: 13.5px; }
.arena-sim-ad .brand-wordmark-companion { font-size: 13.5px; }
.arena-sim-ad .arena-sim-ad-domain { font: 700 9.5px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e3a8a; margin-left: 2px; letter-spacing: .2px; }


/* No block on screen → no floating chrome (same guarantee as the ExamSoft format). */
html:not([data-nbme-open]) .nbme-pop, html:not([data-nbme-open]) .nbme-review,
html:not([data-nbme-open]) .nbme-pause-cover { display: none !important; }


/* ============ MATCHING ITEMS ============
   A matching item has no lettered choice buttons, so every rule in the OPTIONS block above
   misses it and the board would keep its Arcanium skin — rounded cards, gradients and a blurred
   sticky footer — inside an otherwise flat NBME page. These rules restate the same board in the
   test-driver's idiom: Arial, square corners, hairline rules, navy accents, and the yellow
   highlight the format already uses to mark a correct answer. */
html[data-exam-format="nbme"] .hoad-assessment-choices.is-matching {
    display: block !important; border: 0 !important; padding: 0 !important; min-width: 0 !important;
    max-width: 96ch; margin: 4px 0 14px !important; background: none !important;
}
html[data-exam-format="nbme"] .hoad-match { display: block; }
html[data-exam-format="nbme"] .hoad-match-hint {
    font: 400 var(--nbme-fs)/1.45 var(--nbme-font) !important; color: var(--nbme-ink) !important; margin: 0 0 10px !important;
}
/* the lettered bank reads as the item's option box: black rule, navy base, like the choice box */
html[data-exam-format="nbme"] .hoad-match-legend {
    background: #fff !important; border: 1px solid #333 !important; border-bottom: 3px solid var(--nbme-navy) !important;
    border-radius: 0 !important; padding: 8px 12px 10px !important; margin-bottom: 14px;
}
html[data-exam-format="nbme"] .hoad-match-legend-title {
    font: 700 12.5px/1.3 var(--nbme-font) !important; color: var(--nbme-ink) !important; letter-spacing: 0 !important;
    text-transform: none !important; margin-bottom: 6px !important;
}
html[data-exam-format="nbme"] .hoad-match-legend-item {
    font: 400 var(--nbme-fs)/1.45 var(--nbme-font) !important; color: var(--nbme-ink) !important;
}
html[data-exam-format="nbme"] .hoad-match-legend-item b {
    font: 400 var(--nbme-fs)/1.45 var(--nbme-font) !important; color: var(--nbme-ink) !important; min-width: 20px !important;
}
html[data-exam-format="nbme"] .hoad-match-legend-item b::after { content: '.'; }
/* rows: ruled lines rather than cards; the verdict is a mark, not a coloured panel */
html[data-exam-format="nbme"] .hoad-match-row {
    background: none !important; border: 0 !important; border-bottom: 1px solid var(--nbme-line) !important;
    border-radius: 0 !important; padding: 9px 2px !important; position: relative;
}
html[data-exam-format="nbme"] .hoad-match-row.is-correct, html[data-exam-format="nbme"] .hoad-match-row.is-wrong { background: none !important; }
html[data-exam-format="nbme"] .hoad-match-row.is-correct .hoad-match-prompt-text { background: var(--nbme-highlight); }
html[data-exam-format="nbme"] .hoad-match-row.is-wrong .hoad-match-prompt-text::after {
    content: '\2715'; color: #c0392b; font-weight: 700; margin-left: 8px; font-size: 12px;
}
html[data-exam-format="nbme"] .hoad-match-prompt-text {
    font: 700 var(--nbme-fs)/1.4 var(--nbme-font) !important; color: var(--nbme-ink) !important;
}
html[data-exam-format="nbme"] .hoad-match-count {
    font: 400 12px/1.4 var(--nbme-font) !important; color: #555 !important; letter-spacing: 0 !important; text-transform: none !important;
}
/* chips: square letter boxes, the picked one filled navy the way the radio is */
html[data-exam-format="nbme"] .hoad-match-chip {
    min-width: 30px; padding: 4px 8px !important; border-radius: 2px !important; background: #fff !important;
    border: 1px solid #555 !important; box-shadow: none !important; transform: none !important;
    font: 400 var(--nbme-fs)/1.3 var(--nbme-font) !important; color: var(--nbme-ink) !important;
}
html[data-exam-format="nbme"] .hoad-match-chip:hover:not(:disabled) { background: #f4f6f9 !important; transform: none !important; color: var(--nbme-ink) !important; }
html[data-exam-format="nbme"] .hoad-match-chip.is-picked { background: var(--nbme-navy) !important; border-color: var(--nbme-navy-dark) !important; color: #fff !important; }
html[data-exam-format="nbme"] .hoad-match-chip.is-answer { background: var(--nbme-highlight) !important; border-color: #8a8a2a !important; color: #000 !important; }
html[data-exam-format="nbme"] .hoad-match-chip.is-extra { background: #fff !important; border-color: #c0392b !important; color: #c0392b !important; text-decoration: line-through; }
html[data-exam-format="nbme"] .hoad-match-note {
    border-top: 0 !important; padding-top: 6px !important; margin-top: 6px !important;
    font: 400 calc(var(--nbme-fs) - 0.5px)/1.5 var(--nbme-font) !important; color: #333 !important;
}
/* the footer keeps its place but loses the glass: flat white over a hairline */
html[data-exam-format="nbme"] .hoad-match-actions {
    background: #fff !important; border: 0 !important; border-top: 1px solid #333 !important; border-radius: 0 !important;
    box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; padding: 10px 2px !important;
}
html[data-exam-format="nbme"] .hoad-match-score {
    font: 700 var(--nbme-fs)/1.4 var(--nbme-font) !important; color: var(--nbme-ink) !important;
}
html[data-exam-format="nbme"] .hoad-match-score.is-complete { color: var(--nbme-navy) !important; }
html[data-exam-format="nbme"] .hoad-match-actions .button {
    background: var(--nbme-blue) !important; border: 1px solid #1f4fa8 !important; border-radius: 2px !important;
    box-shadow: none !important; color: #fff !important; font: 700 13px/1 var(--nbme-font) !important; padding: 8px 16px !important;
    text-transform: none !important; letter-spacing: 0 !important;
}
html[data-exam-format="nbme"] .hoad-match-actions .button.secondary {
    background: #fff !important; border-color: #8e99a8 !important; color: var(--nbme-ink) !important;
}
