.mcq-page{max-width:1100px}
.mcq-page-head,.mcq-bank-header,.mcq-results-header{display:grid;gap:10px}
.mcq-page-head{margin-bottom:var(--space-6)}
.mcq-page-head p,.mcq-bank-header p,.mcq-results-header p{color:var(--text-secondary);line-height:var(--line-body);max-width:760px;margin-bottom:0}
.mcq-module-mount{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.mcq-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.mcq-bank-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--card-padding);display:flex;flex-direction:column;gap:var(--space-3);min-width:0;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}
.mcq-bank-card:hover{border-color:var(--betooth-highlight-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.mcq-bank-card p{color:var(--text-secondary);line-height:1.6;margin:0}
.mcq-meta{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:0}
.mcq-meta div{background:var(--surface-soft);border-radius:var(--radius-md);padding:var(--space-3);min-width:0}
.mcq-meta dt{font-size:11px;color:var(--text-secondary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mcq-meta dd{margin:3px 0 0;font-weight:800;color:var(--text-primary)}
.mcq-card-cta{margin-top:auto}
.mcq-resume-state{font-size:var(--font-small)!important;font-weight:800;color:var(--text-primary)!important;padding:var(--space-3);background:var(--betooth-highlight-surface);border-left:3px solid var(--betooth-muted);border-radius:var(--radius-md)}
.mcq-bank-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.mcq-bank-actions,.mcq-practice-actions,.mcq-results-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.mcq-question-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--card-padding);display:grid;gap:var(--space-5);box-shadow:var(--shadow-sm)}
.mcq-question-top{display:flex;justify-content:space-between;gap:16px;align-items:center}
.mcq-question-count{font-size:13px;color:var(--text-primary)}
.mcq-progress{width:100%;accent-color:var(--betooth-deep)}
.mcq-progress::-webkit-progress-bar{background:var(--surface-soft-strong);border-radius:var(--radius-pill)}
.mcq-progress::-webkit-progress-value{background:var(--brand-deep);border-radius:var(--radius-pill)}
.mcq-progress::-moz-progress-bar{background:var(--brand-deep);border-radius:var(--radius-pill)}
.mcq-question-form{display:grid;gap:18px}
.mcq-fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:18px}
.mcq-stem{font-size:24px;line-height:1.4;font-weight:900;color:var(--text-primary);padding:0;max-width:900px}
.mcq-options{display:grid;gap:10px}
.mcq-option{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}
.mcq-option:has(input:not(:disabled)):hover{border-color:var(--brand-light);background:var(--betooth-highlight-surface)}
.mcq-option:has(input:checked):not(.is-correct):not(.is-incorrect){border-color:var(--brand-muted);background:var(--betooth-highlight-surface)}
.mcq-option input{margin-top:4px;width:18px;height:18px;accent-color:var(--brand-deep);flex:0 0 auto}
.mcq-option label{line-height:1.55;color:var(--text-primary);overflow-wrap:anywhere;cursor:pointer}
.mcq-option input:disabled+label{cursor:default}
.mcq-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.mcq-option.is-correct{border-color:var(--success-line);background:var(--success-surface)}
.mcq-option.is-incorrect{border-color:var(--error-line);background:var(--surface-error)}
.mcq-feedback{min-height:1.4em;display:grid;gap:8px;padding:0}
.mcq-feedback:empty{min-height:1.4em}
.mcq-feedback p{margin:0;color:var(--text-secondary);line-height:1.6}
.mcq-feedback-correct{color:var(--success)}
.mcq-feedback-incorrect{color:var(--error)}
.mcq-explanation{padding:var(--space-4);background:var(--surface-soft);border-radius:var(--radius-md);border:1px solid var(--line)}
.mcq-results{display:grid;gap:var(--space-6)}
.mcq-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}
.mcq-result-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.mcq-result-stat span{display:block;color:var(--text-secondary);font-size:13px}
.mcq-result-stat strong{display:block;margin-top:6px;font-size:26px;color:var(--text-primary)}
.mcq-results-list{display:grid;gap:var(--space-3);padding-left:22px;margin:0}
.mcq-result-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:start;box-shadow:var(--shadow-sm)}
.mcq-result-row strong{line-height:1.5;color:var(--text-primary)}
.mcq-result-correct,.mcq-result-incorrect{font-size:13px;font-weight:900}
.mcq-result-correct{color:var(--success)}
.mcq-result-incorrect{color:var(--error)}
.attempt-type{display:inline-flex;align-items:center;width:max-content;padding:5px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-control);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.attempt-type.official{color:var(--betooth-orange);border-color:color-mix(in srgb,var(--betooth-orange) 55%,transparent);background:color-mix(in srgb,var(--betooth-orange) 9%,transparent)}
.attempt-type.practice{color:var(--betooth-light);background:color-mix(in srgb,var(--betooth-muted) 12%,transparent)}
.mcq-attempt-history{display:grid;gap:var(--space-5)}
.mcq-history-group{display:grid;gap:var(--space-3)}
.mcq-history-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1fr) auto;align-items:center;gap:var(--space-4);padding:16px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:linear-gradient(135deg,var(--bg-card),var(--bg-sidebar));box-shadow:var(--button-inset)}
.mcq-history-row.official{border-color:color-mix(in srgb,var(--betooth-orange) 38%,var(--border-subtle))}
.mcq-history-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mcq-history-identity strong{font-size:.9375rem}.mcq-history-metrics,.mcq-history-empty{margin:0;color:var(--text-secondary)}
.mcq-history-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--text-secondary);font-size:.8125rem}.mcq-history-meta .button-link{min-height:36px;padding:7px 11px}
@media(max-width:760px){
  .mcq-bank-grid{grid-template-columns:1fr}
  .mcq-bank-facts{grid-template-columns:1fr 1fr}
  .mcq-results-grid{grid-template-columns:1fr 1fr}
  .mcq-result-row{grid-template-columns:1fr}
  .mcq-history-row{grid-template-columns:1fr}.mcq-history-meta{justify-content:flex-start}
  .mcq-bank-actions>a,.mcq-bank-actions>button,.mcq-practice-actions>button{min-height:46px}
}
@media(max-width:480px){
  .mcq-bank-card,.mcq-question-card{padding:19px}
  .mcq-bank-facts,.mcq-results-grid{grid-template-columns:1fr}
  .mcq-question-top{align-items:flex-start;flex-direction:column}
  .mcq-stem{font-size:21px}
  .mcq-bank-actions,.mcq-practice-actions,.mcq-results-actions{display:grid;grid-template-columns:1fr}
  .mcq-bank-actions>* ,.mcq-practice-actions>* ,.mcq-results-actions>*{width:100%;justify-content:center}
}
/* Free Exam Mode uses the existing shell, palette and unified type system. */
.free-exam-mount{display:grid;gap:16px;width:100%;min-width:0}
.exam-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.exam-heading h2{margin:0;font-size:clamp(24px,2.4vw,34px)}
.exam-heading p,.exam-hint{color:var(--text-secondary);line-height:1.7;margin:6px 0}
.exam-message:empty{display:none}
.exam-message{line-height:1.7;color:var(--accent-orange)}
.exam-configuration,.exam-question,.exam-result,.exam-review,.exam-state,.exam-confirm{padding:20px;min-width:0}
.exam-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.exam-config-grid label{display:grid;gap:8px;min-width:0}
.exam-page select,.exam-page input:not([type=radio]):not([type=checkbox]){width:100%;min-height:46px;box-sizing:border-box;font:inherit;padding:8px 12px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-active)}
.exam-page input[type=checkbox],.exam-page input[type=radio]{width:20px;height:20px;accent-color:var(--accent-orange);flex:none}
.exam-lectures,.exam-options{border:0;padding:0;display:grid;gap:10px;margin:12px 0 20px;min-width:0}
.exam-lectures label,.exam-option{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;overflow-wrap:anywhere}
.exam-option:has(input:checked){border-color:var(--accent-orange);background:var(--bg-hover)}
.exam-page legend{font-weight:600;margin-bottom:8px}
.exam-run-head,.exam-actions,.exam-history-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.exam-run-head{justify-content:space-between;color:var(--text-secondary)}
.exam-question h3{font-size:clamp(20px,2vw,26px);line-height:1.7;margin:20px 0;overflow-wrap:anywhere;unicode-bidi:plaintext}
.exam-page textarea{display:block;width:100%;box-sizing:border-box;min-height:200px;height:auto;padding:14px 16px;font:inherit;font-size:17px;line-height:1.9;text-align:start;unicode-bidi:plaintext;resize:vertical;overflow:auto;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-active);margin:8px 0 18px}
.exam-clock{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.exam-time-warning{color:var(--accent-orange)}
.exam-actions{margin-top:16px;justify-content:flex-end}
.exam-page button,.exam-page a.primary,.exam-page a.secondary{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.exam-page :focus-visible{outline:2px solid var(--accent-orange);outline-offset:3px}
.exam-page button:disabled{opacity:.55;cursor:not-allowed}
.exam-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:16px 0}
.exam-metrics>div{display:grid;gap:8px;padding:12px;background:var(--bg-card)}
.exam-metrics span{color:var(--text-secondary)}
.exam-metrics strong{font-size:24px}
.exam-score{font-size:clamp(34px,5vw,52px);color:var(--accent-orange)}
.exam-review summary{cursor:pointer;font-weight:600;line-height:1.8;min-height:44px}
.exam-review p,.exam-review blockquote{white-space:pre-wrap;overflow-wrap:anywhere;unicode-bidi:plaintext;line-height:1.8}
.exam-review blockquote{margin:12px 0;padding-inline-start:14px;border-inline-start:3px solid var(--border-active);color:var(--text-secondary)}
.exam-history-row{padding:10px 0;justify-content:space-between;border-bottom:1px solid var(--border-subtle)}
.exam-confirm{border-color:var(--accent-orange);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.exam-confirm p{flex-basis:100%}
@media(max-width:1000px){.exam-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.exam-config-grid{grid-template-columns:1fr}.exam-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-question,.exam-configuration,.exam-result,.exam-review,.exam-state{padding:14px}.exam-actions>*{flex:1 1 120px}.exam-run-head{gap:8px}}
.page.exam-page .free-exam-mount .primary{background:var(--accent-orange);color:var(--betooth-deep);border-color:var(--betooth-orange-line);box-shadow:2px 2px 0 var(--bg-page);font-weight:700}
.page.revision-page{padding:0;max-width:var(--content-max);margin-inline:auto}
.revision-mount{display:grid;gap:20px;min-width:0;max-width:1200px;margin-inline:auto;font-family:inherit;grid-template-columns:repeat(2,minmax(0,1fr))}
.revision-head,.revision-message,.revision-summary,.revision-tabs-wrap,.revision-check,.revision-owner,.revision-empty{grid-column:1/-1}
.revision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:6px 0 10px;position:relative}
.revision-title-wrap{display:flex;flex-direction:column;gap:6px}
.revision-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--betooth-light)}
.revision-title{margin:0;font-size:var(--font-h2);font-weight:850;color:var(--text-primary);letter-spacing:-.02em}
.revision-subtitle{margin:0;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}
.revision-head .revision-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-button);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);font-weight:700;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}
.revision-head .revision-refresh-btn:hover{background:var(--bg-hover);border-color:var(--border-active);color:var(--text-primary);transform:translateY(-1px)}
.revision-summary{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;padding:24px 28px;border-radius:var(--radius-card);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 88%,var(--betooth-deep)),var(--bg-card));border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft),var(--glow-active);align-items:center}
.revision-summary-hero{display:flex;flex-direction:column;gap:8px;padding-inline-end:24px;border-inline-end:1px solid var(--border-subtle)}
html[dir="rtl"] .revision-summary-hero{padding-inline-end:0;padding-inline-start:24px;border-inline-end:none;border-inline-start:1px solid var(--border-subtle)}
.revision-due-label{margin:0;font-size:.8125rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}
.revision-due-count{font-size:3.25rem;font-weight:900;line-height:1;color:var(--betooth-orange);text-shadow:0 0 24px color-mix(in srgb,var(--betooth-orange) 35%,transparent)}
.revision-start-btn{margin-top:6px;padding:10px 22px;border-radius:var(--radius-button);background:var(--button-fill);color:var(--button-foreground);border:1px solid var(--border-active);font-weight:800;font-size:.9375rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-standard);width:fit-content}
.revision-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--betooth-orange) 40%,transparent)}
.revision-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.revision-stat-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-subtle);transition:all var(--transition-fast)}
.revision-stat-card:hover{transform:translateY(-2px)}
.revision-stat-card.is-weak{border-color:rgba(248,113,113,.25);background:color-mix(in srgb,#ef4444 6%,var(--bg-card))}
.revision-stat-card.is-weak:hover{border-color:rgba(248,113,113,.5);box-shadow:0 0 16px rgba(239,68,68,.15)}
.revision-stat-card.is-weak .revision-stat-count{color:#f87171}
.revision-stat-card.is-important{border-color:rgba(245,157,77,.25);background:color-mix(in srgb,var(--betooth-orange) 6%,var(--bg-card))}
.revision-stat-card.is-important:hover{border-color:rgba(245,157,77,.5);box-shadow:0 0 16px rgba(245,157,77,.15)}
.revision-stat-card.is-important .revision-stat-count{color:var(--betooth-orange)}
.revision-stat-card.is-keep_fresh{border-color:rgba(143,174,184,.25);background:color-mix(in srgb,var(--betooth-light) 6%,var(--bg-card))}
.revision-stat-card.is-keep_fresh:hover{border-color:rgba(143,174,184,.5);box-shadow:0 0 16px rgba(143,174,184,.15)}
.revision-stat-card.is-keep_fresh .revision-stat-count{color:var(--betooth-light)}
.revision-stat-label{font-size:.8125rem;font-weight:750;color:var(--text-secondary)}
.revision-stat-count{font-size:1.75rem;font-weight:900;line-height:1.1}
.revision-tabs-wrap{display:flex;margin-block:4px}
.revision-tabs{display:inline-flex;align-items:center;gap:6px;padding:5px;border-radius:var(--radius-pill);background:var(--bg-card);border:1px solid var(--border-subtle);flex-wrap:wrap}
.revision-tab-btn{padding:8px 20px;border-radius:var(--radius-pill);background:transparent;border:1px solid transparent;color:var(--text-secondary);font-weight:700;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}
.revision-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}
.revision-tab-btn.active,.revision-tab-btn[aria-pressed="true"]{background:var(--accent-primary);color:var(--betooth-paper);border-color:var(--border-active);font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.revision-item{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px 24px;border-radius:var(--radius-card);background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);overflow-wrap:anywhere}
.revision-item:hover{transform:translateY(-2px);border-color:var(--border-active);box-shadow:var(--glow-active)}
.revision-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.revision-item-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--text-primary);line-height:1.35}
.revision-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:800;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}
.revision-badge.badge-weak{background:rgba(239,68,68,.14);color:#f87171;border:1px solid rgba(239,68,68,.3)}
.revision-badge.badge-important{background:rgba(245,157,77,.14);color:var(--betooth-orange);border:1px solid rgba(245,157,77,.3)}
.revision-badge.badge-keep_fresh{background:rgba(143,174,184,.14);color:var(--betooth-light);border:1px solid rgba(143,174,184,.3)}
.revision-item-body{display:flex;flex-direction:column;gap:8px}
.revision-reason{margin:0;font-size:.875rem;line-height:1.5;color:var(--text-secondary)}
.revision-schedule{margin:0;font-size:.8125rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}
.revision-schedule.is-due{color:var(--betooth-orange);font-weight:800}
.revision-item-actions{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}
.revision-btn-action{min-height:40px;padding:8px 18px;border-radius:var(--radius-button);font-weight:750;font-size:.875rem;cursor:pointer}
.revision-item-actions .primary{background:var(--button-fill);color:var(--button-foreground);border:1px solid var(--border-active)}
.revision-item-actions .primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--betooth-orange) 35%,transparent)}
.revision-item-actions .secondary{background:var(--surface-soft);color:var(--text-secondary);border:1px solid var(--border-subtle)}
.revision-item-actions .secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-active)}
.revision-history{margin:8px 0 0;padding:12px 16px;list-style:none;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-control);display:grid;gap:8px}
.revision-history-entry{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--text-secondary);padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 50%,transparent)}
.revision-history-entry:last-child{border-bottom:none}
.revision-history-correct{color:var(--betooth-light);font-weight:800}
.revision-history-incorrect{color:#f87171;font-weight:800}
.revision-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-card);gap:12px}
.revision-empty-icon{width:54px;height:54px;border-radius:50%;background:rgba(76,126,138,.14);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;border:1px solid var(--border-subtle)}
.revision-empty-title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-primary)}
.revision-empty-desc{margin:0;color:var(--text-secondary);font-size:.9375rem;max-width:480px;line-height:1.6}
.revision-owner{padding:20px;border-radius:var(--radius-card);background:var(--bg-card);border:1px solid var(--border-subtle)}
.revision-owner summary{cursor:pointer;font-weight:800;color:var(--text-primary);font-size:1rem}
.revision-owner-items{display:grid;gap:12px;margin-top:16px}
.revision-owner-items>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,220px) 120px auto;gap:12px;align-items:center;padding:12px;background:var(--bg-panel);border-radius:var(--radius-control);border:1px solid var(--border-subtle)}
.revision-page button,.revision-page select{min-height:44px;max-width:100%}
.revision-option{display:block;width:100%;margin-block:10px;text-align:start;white-space:normal;line-height:1.8;padding:12px}
.revision-check{display:grid;gap:10px;padding:24px;border-radius:var(--radius-card);background:var(--bg-card);border:1px solid var(--border-subtle)}
.revision-message{min-height:1.5em;padding:12px;border-radius:var(--radius-control);background:var(--bg-panel);border:1px solid var(--border-subtle)}
.revision-message:empty{display:none}
.revision-dashboard{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;margin-block:12px;border-radius:var(--radius-card);background:var(--bg-card);border:1px solid var(--border-subtle)}
.revision-dashboard h3,.revision-dashboard p{margin:0}
@media(max-width:900px){.revision-mount{grid-template-columns:1fr}.revision-summary{grid-template-columns:1fr}.revision-summary-hero{padding-inline-end:0;border-inline-end:none;border-bottom:1px solid var(--border-subtle);padding-bottom:16px}.revision-owner-items>div{grid-template-columns:1fr 1fr}.revision-owner-items>div>span{grid-column:1/-1}}
@media(max-width:600px){.revision-head{flex-direction:column;align-items:flex-start}.revision-summary-stats{grid-template-columns:1fr}.revision-tabs button{flex:1 1 45%}.revision-owner-items>div{grid-template-columns:1fr}.revision-item,.revision-check{padding:16px}}
.professor-panel{margin-block:0 20px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-xl);min-width:0}
.professor-panel h2,.professor-panel h3{margin-block:0 10px}.professor-panel p,.professor-panel blockquote{overflow-wrap:anywhere}
.professor-panel button,.professor-panel input:not([type=checkbox]){min-height:44px;max-width:100%}
.professor-form{display:grid;gap:12px;margin-block:16px}.professor-form label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.professor-form label input:not([type=checkbox]){flex:1 1 180px;min-width:0}.professor-row{display:flex;gap:12px;align-items:start;flex-wrap:wrap;margin-block:12px}
.professor-row p,.professor-row blockquote{flex-basis:100%;margin-block:0}.professor-row span{flex:1 1 180px;overflow-wrap:anywhere}
.professor-panel [aria-busy=true]{opacity:.7}.professor-panel button{white-space:normal;text-align:start}
.professor-learning{display:grid;gap:12px;margin-block:16px}.professor-learning textarea{width:100%;max-width:100%;min-width:0;min-height:120px}
.professor-learning details{min-width:0}.professor-learning summary{cursor:pointer;overflow-wrap:anywhere}

/* ==========================================================================
   MODERN POLISH FOR MCQS (Bank, Practice, Questions, Results)
   ========================================================================== */
.mcq-page {
  max-width: 1220px;
  margin-inline: auto;
}

.mcq-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 28px 32px;
  border-radius: 12px;
  background: linear-gradient(135deg, #10242D 0%, #163643 55%, #0D1B21 100%);
  border: 1px solid rgba(143, 174, 184, 0.2);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.32);
  margin-bottom: 24px;
}

.mcq-page-head .eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  margin-bottom: 6px;
  border-radius: 6px;
  background: rgba(94, 234, 212, 0.12);
  border: 1px solid rgba(94, 234, 212, 0.25);
  color: #2DD4BF;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.mcq-page-head h2 {
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 800;
  color: #FFFFFF;
  margin: 6px 0 8px;
}

.mcq-page-head p {
  color: #CBD5E1;
  font-size: 15px;
  max-width: 65ch;
}

.mcq-page-head a.primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  border-radius: 8px;
  background: linear-gradient(135deg, #FF9E44 0%, #F57C00 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 4px 14px rgba(245, 124, 0, 0.35);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.16s ease, filter 0.16s ease;
}

.mcq-page-head a.primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.mcq-page-head a.secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 8px;
  background: rgba(45, 212, 191, 0.1);
  border: 1px solid rgba(45, 212, 191, 0.35);
  color: #2DD4BF;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.16s ease;
}

.mcq-page-head a.secondary:hover {
  background: rgba(45, 212, 191, 0.2);
  border-color: #2DD4BF;
  color: #FFFFFF;
  transform: translateY(-2px);
}

.pixel-mcq-modes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}

.pixel-mcq-modes .panel {
  border-radius: 12px;
  border: 1px solid rgba(143, 174, 184, 0.18);
  background: linear-gradient(160deg, #172D36 0%, #0F1F26 100%);
  padding: 22px 24px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.18s ease, border-color 0.18s ease;
}

.pixel-mcq-modes .pixel-mode-bank {
  border-top: 3.5px solid #FF9E44;
}

.pixel-mcq-modes .pixel-mode-review {
  border-top: 3.5px solid #2DD4BF;
}

.pixel-mcq-modes .panel:hover {
  transform: translateY(-3px);
  border-color: rgba(94, 234, 212, 0.4);
}

.pixel-mcq-modes h3 {
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 8px;
}

.pixel-mcq-modes p {
  color: #94A3B8;
  font-size: 13px;
  line-height: 1.55;
  margin-bottom: 16px;
}

.mcq-bank-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 18px;
}

.mcq-bank-card {
  border-radius: 12px;
  border: 1px solid rgba(143, 174, 184, 0.18);
  border-top: 3.5px solid #2DD4BF;
  background: linear-gradient(160deg, #172D36 0%, #0F1F26 100%);
  padding: 24px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.mcq-bank-card:hover {
  transform: translateY(-4px);
  border-color: #2DD4BF;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.38), 0 0 16px rgba(45, 212, 191, 0.15);
}

.mcq-bank-card h3 {
  font-size: 20px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 8px;
}

.mcq-bank-card p {
  color: #CBD5E1;
  font-size: 14px;
  line-height: 1.55;
}

.mcq-meta div {
  background: #112229;
  border: 1px solid rgba(143, 174, 184, 0.14);
  border-radius: 6px;
  padding: 8px 12px;
}

.mcq-meta dt {
  color: #94A3B8;
  font-size: 11px;
}

.mcq-meta dd {
  color: #2DD4BF;
  font-weight: 700;
}

.mcq-question-card {
  border-radius: 12px;
  border: 1px solid rgba(143, 174, 184, 0.18);
  background: linear-gradient(160deg, #172D36 0%, #0F1F26 100%);
  padding: 28px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.3);
}

.mcq-stem {
  font-size: 22px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.4;
}

.mcq-option {
  border-radius: 10px;
  border: 1px solid rgba(143, 174, 184, 0.2);
  background: #112229;
  padding: 16px 20px;
  transition: all 0.14s ease;
}

.mcq-option:hover {
  border-color: #2DD4BF;
  background: rgba(45, 212, 191, 0.08);
}

.mcq-option:has(input:checked) {
  border-color: #FF9E44;
  background: rgba(255, 158, 68, 0.12);
}

.mcq-option.is-correct {
  border-color: #22C55E !important;
  background: rgba(34, 197, 94, 0.15) !important;
}

.mcq-option.is-incorrect {
  border-color: #EF4444 !important;
  background: rgba(239, 68, 68, 0.15) !important;
}

/* MCQ Mode Buttons & Art */
.app .mcq-page .pixel-mcq-modes .pixel-mode-bank button[data-mcq-browse] {
  background: rgba(255, 158, 68, 0.12) !important;
  border: 1px solid rgba(255, 158, 68, 0.4) !important;
  color: #FF9E44 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  transition: all 0.16s ease !important;
}

.app .mcq-page .pixel-mcq-modes .pixel-mode-bank button[data-mcq-browse]:hover {
  background: #FF9E44 !important;
  color: #0E1B21 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(255, 158, 68, 0.35);
}

.app .mcq-page .pixel-mcq-modes .pixel-mode-review a.adaptive-entry {
  background: rgba(45, 212, 191, 0.12) !important;
  border: 1px solid rgba(45, 212, 191, 0.4) !important;
  color: #2DD4BF !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  transition: all 0.16s ease !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.app .mcq-page .pixel-mcq-modes .pixel-mode-review a.adaptive-entry:hover {
  background: #2DD4BF !important;
  color: #0E1B21 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(45, 212, 191, 0.35);
}

/* MCQ Bank Card CTA */
.mcq-card-cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 8px !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #FF9E44 0%, #F57C00 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  padding: 12px 18px !important;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(245, 124, 0, 0.3);
  transition: transform 0.16s ease, filter 0.16s ease;
}

.mcq-card-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

/* Practice Actions */
.mcq-practice-actions button.primary {
  border-radius: 8px;
  background: linear-gradient(135deg, #FF9E44 0%, #F57C00 100%) !important;
  color: #FFFFFF !important;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 4px 14px rgba(245, 124, 0, 0.3);
  padding: 12px 28px;
  cursor: pointer;
  transition: transform 0.16s ease, filter 0.16s ease;
}

.mcq-practice-actions button.primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

/* Feedback Box */
.mcq-feedback:not(:empty) {
  padding: 18px;
  border-radius: 10px;
  background: #112229;
  border: 1px solid rgba(143, 174, 184, 0.2);
  border-inline-start: 4px solid #2DD4BF;
}

.mcq-explanation {
  background: #0E1A1F !important;
  border: 1px solid rgba(143, 174, 184, 0.16) !important;
  border-radius: 8px !important;
  color: #CBD5E1 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* Results View */
.mcq-results-grid .mcq-result-stat {
  border-radius: 10px;
  border: 1px solid rgba(143, 174, 184, 0.18);
  border-top: 3px solid #2DD4BF;
  background: linear-gradient(160deg, #172D36 0%, #0F1F26 100%);
  padding: 20px;
}

.mcq-results-grid .mcq-result-stat:first-child {
  border-top-color: #22C55E;
}

.mcq-results-grid .mcq-result-stat:nth-child(2) {
  border-top-color: #EF4444;
}

.mcq-results-list .mcq-result-row {
  border-radius: 10px;
  border: 1px solid rgba(143, 174, 184, 0.16);
  background: #112229;
  padding: 16px 20px;
  transition: border-color 0.14s ease;
}

.mcq-results-list .mcq-result-row:hover {
  border-color: rgba(94, 234, 212, 0.35);
}





/* ==========================================================================
   BETOOTH - MCQ Interactive Graphical Dental Journey & Stage Separation
   ========================================================================== */
.mcq-academic-stage-nav {
  min-width: 0;
  margin-block: 0.75rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Interactive Dental Journey Roadmap Track */
.mcq-stage-tabs-track {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0.85rem;
  padding: 0.85rem;
  background: var(--surface, #122129);
  border: 1px solid var(--line, rgba(143, 174, 184, 0.2));
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
  position: relative;
}

@media (max-width: 900px) {
  .mcq-stage-tabs-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 1rem;
    scrollbar-width: thin;
  }
}

.mcq-stage-tab {
  --tab-accent: var(--betooth-cyan, #06b6d4);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.65rem;
  padding: 1rem 0.85rem;
  border-radius: 14px;
  background: var(--surface-soft, rgba(255, 255, 255, 0.03));
  border: 1px solid var(--border-subtle, rgba(143, 174, 184, 0.15));
  color: var(--text-secondary, #94A3B8);
  cursor: pointer;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
  min-width: 150px;
  scroll-snap-align: start;
}

.mcq-stage-tab[data-year="1"] { --tab-accent: #FF9E44; }
.mcq-stage-tab[data-year="2"] { --tab-accent: #38BDF8; }
.mcq-stage-tab[data-year="3"] { --tab-accent: #34D399; }
.mcq-stage-tab[data-year="4"] { --tab-accent: #818CF8; }
.mcq-stage-tab[data-year="5"] { --tab-accent: #FBBF24; }

.mcq-stage-tab::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--tab-accent) 22%, transparent) 0%, transparent 75%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.mcq-stage-tab:hover {
  transform: translateY(-4px);
  background: color-mix(in srgb, var(--tab-accent) 8%, var(--surface-soft, #162a33));
  border-color: color-mix(in srgb, var(--tab-accent) 45%, transparent);
  box-shadow: 0 10px 24px -4px color-mix(in srgb, var(--tab-accent) 25%, transparent);
  color: var(--text-primary, #FFFFFF);
}

.mcq-stage-tab:hover::before,
.mcq-stage-tab.is-active::before {
  opacity: 1;
}

.mcq-stage-tab.is-active {
  background: color-mix(in srgb, var(--tab-accent) 14%, var(--surface, #122129));
  border-color: var(--tab-accent);
  box-shadow: 0 0 0 2px var(--tab-accent), 0 12px 30px -6px color-mix(in srgb, var(--tab-accent) 40%, transparent);
  color: var(--text-primary, #FFFFFF);
  transform: translateY(-3px);
}

.mcq-tab-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-inline: 0.2rem;
  z-index: 1;
}

.mcq-tab-num {
  font-size: 0.8125rem;
  font-weight: 900;
  color: var(--tab-accent);
  letter-spacing: 0.05em;
}

.mcq-tab-badge {
  font-size: 0.75rem;
  font-weight: 850;
  padding: 2px 7px;
  border-radius: 10px;
  background: var(--surface, #122129);
  border: 1px solid var(--border-subtle, rgba(143, 174, 184, 0.15));
  color: var(--text-muted, #64748B);
  transition: all 0.2s ease;
}

.mcq-stage-tab.is-active .mcq-tab-badge {
  background: var(--tab-accent);
  color: #0E1B21;
  border-color: var(--tab-accent);
  font-weight: 900;
}

.mcq-tab-art-wrap {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--tab-accent) 12%, var(--surface, #122129));
  border: 1px solid color-mix(in srgb, var(--tab-accent) 30%, transparent);
  color: var(--tab-accent);
  transition: all 0.25s ease;
  z-index: 1;
}

.mcq-tab-art {
  width: 30px;
  height: 30px;
}

.mcq-stage-tab:hover .mcq-tab-art-wrap,
.mcq-stage-tab.is-active .mcq-tab-art-wrap {
  transform: scale(1.15) rotate(3deg);
  box-shadow: 0 0 16px color-mix(in srgb, var(--tab-accent) 45%, transparent);
  background: color-mix(in srgb, var(--tab-accent) 22%, var(--surface, #122129));
}

.mcq-tab-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
  z-index: 1;
}

.mcq-tab-title {
  font-size: 0.9375rem;
  font-weight: 850;
  color: var(--text-primary, #FFFFFF);
  line-height: 1.3;
}

.mcq-tab-focus {
  font-size: 0.75rem;
  color: var(--text-secondary, #94A3B8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Stage Editorial Banner */
.mcq-stage-banner {
  --tab-accent: var(--betooth-cyan, #06b6d4);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1.5rem;
  padding: 1.75rem 2rem;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(143, 174, 184, 0.2));
  background: linear-gradient(135deg, color-mix(in srgb, var(--tab-accent, #06b6d4) 14%, #10242D) 0%, #0D1B21 100%);
  color: #FFFFFF;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .mcq-stage-banner {
    grid-template-columns: 1fr;
  }
}

.mcq-stage-banner[data-year="1"] { --tab-accent: #FF9E44; }
.mcq-stage-banner[data-year="2"] { --tab-accent: #38BDF8; }
.mcq-stage-banner[data-year="3"] { --tab-accent: #34D399; }
.mcq-stage-banner[data-year="4"] { --tab-accent: #818CF8; }
.mcq-stage-banner[data-year="5"] { --tab-accent: #FBBF24; }

.mcq-stage-banner::after {
  content: '';
  position: absolute;
  inset-inline-end: -40px;
  inset-block-end: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--tab-accent, #06b6d4) 20%, transparent) 0%, transparent 70%);
  pointer-events: none;
}

.mcq-stage-banner-main {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  z-index: 1;
}

.mcq-stage-banner-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tab-accent, #2DD4BF);
}

.mcq-stage-banner-title {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 850;
  margin: 0;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  line-height: 1.25;
}

.mcq-stage-banner-focus {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #CBD5E1;
  margin: 0;
  max-width: 72ch;
}

.mcq-stage-banner-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.5rem;
}

.mcq-banner-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  padding: 0.4rem 0.85rem;
  border-radius: 8px;
  font-size: 0.8125rem;
  font-weight: 750;
  color: #E2E8F0;
  backdrop-filter: blur(4px);
}

.mcq-stage-banner-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.mcq-banner-art-frame {
  width: 90px;
  height: 90px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--tab-accent, #06b6d4) 18%, rgba(255, 255, 255, 0.05));
  border: 1px solid color-mix(in srgb, var(--tab-accent, #06b6d4) 40%, transparent);
  display: grid;
  place-items: center;
  box-shadow: 0 0 25px color-mix(in srgb, var(--tab-accent, #06b6d4) 25%, transparent);
}

.mcq-banner-art-frame .mcq-tab-art {
  width: 48px;
  height: 48px;
}

/* Card stage tag & visual meters */
.mcq-stage-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.3rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 800;
  background: color-mix(in srgb, var(--tag-color, #06b6d4) 15%, var(--surface));
  color: var(--tag-color, #06b6d4);
  border: 1px solid color-mix(in srgb, var(--tag-color, #06b6d4) 35%, transparent);
  margin-bottom: 0.6rem;
  width: fit-content;
}

.mcq-stage-tag[data-year="1"] { --tag-color: #FF9E44; }
.mcq-stage-tag[data-year="2"] { --tag-color: #38BDF8; }
.mcq-stage-tag[data-year="3"] { --tag-color: #34D399; }
.mcq-stage-tag[data-year="4"] { --tag-color: #818CF8; }
.mcq-stage-tag[data-year="5"] { --tag-color: #FBBF24; }

.mcq-stage-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
}

/* Graphical Difficulty Gauge on MCQ Cards */
.mcq-card-diff-gauge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-inline-start: auto;
  font-size: 0.75rem;
  font-weight: 750;
  color: var(--text-secondary);
}

.mcq-diff-bars {
  display: flex;
  align-items: center;
  gap: 3px;
}

.mcq-diff-bar {
  width: 6px;
  height: 12px;
  border-radius: 2px;
  background: var(--line-strong, #334155);
  transition: all 0.2s ease;
}

.mcq-diff-bar.is-lit.diff-easy {
  background: #10B981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.5);
}

.mcq-diff-bar.is-lit.diff-med {
  background: #F59E0B;
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.5);
}

.mcq-diff-bar.is-lit.diff-hard {
  background: #EF4444;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.5);
}

/* Stage empty state */
.mcq-stage-empty {
  display: none !important;
}



